---
title: "Feed Ingestion Failure Troubleshooting"
description: "Travel feed ingestion hatalarını transport, schema, parsing, validation, persistence ve downstream publish katmanlarında sistematik biçimde teşhis edin."
slug: "feed-ingestion-failure-troubleshooting"
translationKey: "troubleshooting-feed-ingestion-failure"
locale: "tr"
type: "troubleshooting"
category: "troubleshooting"
tags: ["feed","ingestion","etl","schema","data-quality"]
publishedAt: "2026-09-26"
updatedAt: "2026-09-26"
reviewedAt: "2026-09-26"
---

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

1. Expected feed arrival zamanını doğrulayın.
2. Raw artifact'ın checksum/size bilgisini alın.
3. Parser input/output count'u karşılaştırın.
4. Rejected records için reason distribution çıkarın.
5. DB insert/update count ile source count'u karşılaştırın.
6. Downstream publish/index count'unu kontrol edin.

## Kanıt

Her run için şu control record tutulmalı:

```text
feed_id
source_version
received_at
checksum
raw_count
parsed_count
valid_count
rejected_count
persisted_count
published_count
status
```

## Karar 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.
