Market Data Feed Handlers and Their Failure Modes
A feed handler's job sounds simple, receive and normalise market data, but sequence gaps, slow processing and corrupt packets each fail it differently.
A feed handler receives raw multicast market data from an exchange and turns it into a normalized internal book, and while that description sounds simple, the component fails in several distinct ways that each demand a different detection method and a different recovery path. Treating a feed handler as either up or down misses most of the failure modes that actually happen in production, where the handler is technically running but quietly producing a wrong or stale view of the market.
Exchanges typically publish market data over two independent multicast lines, commonly labeled A and B, carrying identical content so that a switch failure, a dropped packet, or momentary congestion on one line does not interrupt the feed. A feed handler tracks the sequence number on each line separately and arbitrates between them, accepting whichever line delivers the next expected sequence number first and treating the other as the fallback for that message.
A gap that appears on both lines simultaneously, rather than on just one, is the more serious event, since it means the feed handler is genuinely missing data rather than simply choosing between two available copies, and it usually triggers an explicit gap-fill request or a wait for the exchange's next periodic snapshot.
Most venues offer a retransmission mechanism for a feed handler that detects a gap, either a direct request for the missing sequence range or a scheduled snapshot that lets the handler rebuild its book state from a known-good point rather than patching a partial history message by message. Relying only on gap-fill without a periodic full snapshot leaves a handler unable to recover from a gap large enough that the exchange's retransmission buffer no longer contains the missing messages, which is why production feed handlers use both mechanisms rather than either alone.
A feed handler that has stopped is easy to detect, since its process has exited or its heartbeat has gone silent. A feed handler that is running but falling behind the wire is harder to catch, because it continues to process messages and continues to report itself as alive, while every book update it produces reflects a market that has already moved on by the time downstream strategies see it.