very fast at protocol indexer with flexible filtering, xrpc queries, cursor-backed event stream, and more, built on fjall
rust fjall at-protocol atproto indexer

[ingest] cursor tracker: tickets from the reader, relay-side done, relay-only watermark master

the saved cursor was whatever seq a shard finished last, so it could run ahead of frames still queued in other shards (finding 1). the reader now takes a ticket per frame in read order, and a SeqTracker per source url moves the watermark only over a done prefix. the trackers live on AppState next to the cursors, so an ingestor that replaces another for the same url (restart, remove and add) queues its frames behind the old one's instead of publishing a second watermark into the same cursor. the reader marks filtered frames done, the relay shard marks the rest done after its commit. relay-only builds store the watermark as the source cursor in place of the last seq. indexer builds compute it unused, their shards still store the cursor until they mark tickets done after their own commit.