Using MDEntryType=J (Empty Book)

Imported from previous forum

Hi,

Our FIXFAST(TCP) implementation uses a series of deletes (IncrementalRefresh) to clear a book in case of internal interruptions. But I see the usage of MDEntryType=J which I already use to notify an empty book as a reply to the SnapshotRequest by the client.

I saw a thread on “EmptyBook” but it wasn’t sufficient.

My question is,

  • Is it ok to use SnapshotFullRefresh(W) in the incremental path? [with RefreshIndicator=Y(Forced snapshot) with MDEntryType=Y(EmptyBook)]
  • And I don’t see a way of clearing the order book in the guide “Recommended Practices for Book Management”? Does that mean MDEntryType=Y is not a proper way of clearing a book?

Thanks,
Sajith (Millennium IT)

My first comment would be that a series of deletes can be replaced by a single instruction MDUpdateAction = 4 (Delete From) with MDPriceLevel = 1, no need to switch to the snapshot message. The snapshot message means that you would have to send one of them for every instrument for which you want to clear the book. “Internal interruptions” sound like an event affecting many instruments at the same time.
In general there are use cases for having both message types in the same “path” as you put it. The most common one being an in-band distribution where time-triggered snapshots and event-triggered incrementals are mixed, making recovery very easy compared to an out-of band situation where snapshots come down a different “path” and need to carry LastMsgSeqNumProcessed to reference the last incremental that was part of the snapshot.
I believe your question is about mixing snapshots and incrementals when both are event-triggered. I suggest to avoid that for order book distribution as far as possible. The use case you describe below still allows to avoid it and I would rather want to extend the incremental message if use cases come up that conflict with that approach.
Regards,
Hanno.

Hi,

Our FIXFAST(TCP) implementation uses a series of deletes (IncrementalRefresh) to clear a book in case of internal interruptions. But I see the usage of MDEntryType=J which I already use to notify an empty book as a reply to the SnapshotRequest by the client.

I saw a thread on “EmptyBook” but it wasn’t sufficient.

My question is,

  • Is it ok to use SnapshotFullRefresh(W) in the incremental path? [with RefreshIndicator=Y(Forced snapshot) with MDEntryType=Y(EmptyBook)]
  • And I don’t see a way of clearing the order book in the guide “Recommended Practices for Book Management”? Does that mean MDEntryType=Y is not a proper way of clearing a book?

Thanks,
Sajith (Millennium IT)