Summary
If the indexer process crashes, restarts slowly, or the Stellar RPC node has a temporary outage, the server can silently miss ledger ranges. Missed buy or sell events corrupt the key ownership read model without any visible error. The indexer needs to detect gaps in its processed ledger sequence and either replay the missing range automatically or surface an alert that makes the gap actionable.
Scope
- Track the highest contiguously processed ledger sequence in a persistent store (database row or config table)
- On startup and periodically during operation, compare the tracked sequence against the current Stellar network ledger
- If a gap is detected (non-contiguous jump in processed ledgers), log a structured warning with the gap range
- Provide a manual replay trigger (e.g. an admin endpoint or CLI command) that re-fetches and processes events for a given ledger range
- Replay must be idempotent: reprocessing an already-indexed event should not create duplicate records
Acceptance Criteria
Coordinate on Telegram
Summary
If the indexer process crashes, restarts slowly, or the Stellar RPC node has a temporary outage, the server can silently miss ledger ranges. Missed buy or sell events corrupt the key ownership read model without any visible error. The indexer needs to detect gaps in its processed ledger sequence and either replay the missing range automatically or surface an alert that makes the gap actionable.
Scope
Acceptance Criteria
Coordinate on Telegram