Feed Ingestion Failure Troubleshooting
Travel feed ingestion hatalarını transport, schema, parsing, validation, persistence ve downstream publish katmanlarında sistematik biçimde teşhis edin.
Feed ingestion failure, “dosya gelmedi”den çok daha geniş bir failure class'tır. Dosya ulaşmış olabilir ama parse, validation, persistence veya downstream publish adımlarından biri başarısız olabilir.
Belirti
Yeni inventory görünmez, import count sıfıra düşer, rejected item artar, ingestion job fail olur veya source'da güncel olan kayıt consumer API'ye yansımaz.
Katmanlara göre nedenler
- Transport: SFTP/HTTP auth, DNS, TLS, timeout, missing file.
- File: encoding, delimiter, compression, truncated upload.
- Schema: kolon/field rename, type change, enum drift.
- Parsing: malformed JSON/XML/CSV.
- Validation: required field, duplicate ID, invalid currency/date.
- Persistence: constraint, transaction, deadlock, disk/storage.
- Publish: index/cache/event downstream'a gitmemiştir.
Hızlı triage
- Expected feed arrival zamanını doğrulayın.
- Raw artifact'ın checksum/size bilgisini alın.
- Parser input/output count'u karşılaştırın.
- Rejected records için reason distribution çıkarın.
- DB insert/update count ile source count'u karşılaştırın.
- Downstream publish/index count'unu kontrol edin.
Kanıt
Her run için şu control record tutulmalı:
feed_id
source_version
received_at
checksum
raw_count
parsed_count
valid_count
rejected_count
persisted_count
published_count
statusKarar ağacı
Artifact yok mu? Transport.
Artifact var ama parsed_count düşük mü? Format/parser.
Parsed doğru ama valid düşük mü? Schema/data-quality.
Valid doğru ama persisted düşük mü? DB/persistence.
Persisted doğru ama kullanıcı görmüyor mu? Publish/cache/index.
Yanıltıcı belirtiler
Source'un bilinçli olarak empty feed göndermesi teknik failure değildir; ancak business expectation'a göre anomaly olabilir. Empty-success ile failed-run ayrılmalıdır.
Fix
Bad record yüzünden tüm batch'i fail etmek yerine contract'a göre quarantine/dead-letter stratejisi düşünün. Schema change backward-compatible değilse version gate uygulayın.
Doğrulama
Aynı raw artifact'ı deterministic biçimde replay edin ve stage count'larının eşleştiğini doğrulayın.
Metrikler
Feed lateness, parse reject rate, validation reject rate, persistence error rate, end-to-end ingestion lag ve source-to-published count delta.
Önleme
Schema contract test, sample fixture, checksum, versioning ve run-level reconciliation olmadan feed pipeline işletmeyin.
Bu problemi production’da mı yaşıyorsunuz?
Semptomu, veri akışını ve entegrasyon davranışını birlikte teknik olarak inceleyebiliriz.