paritytrading / philadelphia

Fast FIX protocol library for the JVM
Apache License 2.0
321 stars 95 forks source link

Support unsigned 64-bit integers for sequence numbers #365

Open JohnGreenan opened 1 year ago

JohnGreenan commented 1 year ago

Is your feature request related to a problem? Please describe. Per https://www.fixtrading.org/groups/continuousmkts/ Sequence number resets are a bore.

Describe the solution you'd like The implementation proposed is to use an unsigned 64 bit integer for a sequence number. Continuous Markets WG- 24x7 FIX Best Practise Working Draft_v0.015.docx

Using 1 billion sequence numbers per second, that will last for 584 years until they run out.

So we can leave the problem to our great, great, great (more) grandchildren to solve!

Describe alternatives you've considered See attached "Continuous Markets WG- 24x7 FIX Best Practise Working Draft_v0.015.docx"

delete_me

JohnGreenan commented 1 year ago

See also https://github.com/da4089/simplefix/issues/50 https://github.com/quickfix-j/quickfixj/issues/621 https://github.com/quickfix/quickfix/issues/419 https://github.com/ferrumfix/ferrumfix/issues/108 https://github.com/connamara/quickfixn/issues/760 https://github.com/paritytrading/philadelphia/issues/365 https://github.com/jcass77/WTFIX/issues/8 https://github.com/real-logic/artio/issues/480

jvirtanen commented 1 year ago

Philadelphia already uses signed 64-bit integers for sequence numbers, so it's probably good for the next 292 years. 😉 However, we could investigate using unsigned arithmetic for these values e.g. using the Long operations, as suggested on the QuickFIX/J issue.

forexweb3trading commented 1 year ago

Is your feature request related to a problem? Please describe. Per https://www.fixtrading.org/groups/continuousmkts/ Sequence number resets are a bore.

Describe the solution you'd like The implementation proposed is to use an unsigned 64 bit integer for a sequence number. Continuous Markets WG- 24x7 FIX Best Practise Working Draft_v0.015.docx

Using 1 billion sequence numbers per second, that will last for 584 years until they run out.

So we can leave the problem to our great, great, great (more) grandchildren to solve!

Describe alternatives you've considered See attached "Continuous Markets WG- 24x7 FIX Best Practise Working Draft_v0.015.docx"

delete_me

Which institution is responsible for maintaining sequence numbers of such magnitude and duration?

Are you anticipating the acceptor to retain all the records for several years?

I believe this approach is better suited for the retail sector.

Given that we have already generated numerous carbon footprints, why should we continue to create problems for our grandchildren to solve?

da4089 commented 1 year ago

Multiple institutions are moving to 24x7 operation, especially those offering crypto trading.

No, neither party is expected to maintain session history beyond a reasonable time period. Additionally, use of tag 369 might enable session history to be pruned with consent of both parties.

Institutional users are beginning to expect 24x7 operation, although it is perhaps in support of retail trading downstream.

forexweb3trading commented 1 year ago

Multiple institutions are moving to 24x7 operation, especially those offering crypto trading.

No, neither party is expected to maintain session history beyond a reasonable time period. Additionally, use of tag 369 might enable session history to be pruned with consent of both parties.

Institutional users are beginning to expect 24x7 operation, although it is perhaps in support of retail trading downstream.

Appreciate your reply. It is commonly accepted that extended retention of such large numbers is impractical. As expressed in the statement, "Sequence number resets are tedious," it is evident that resetting the sequence number is undesirable.

I believe it is challenging for both members and clients to simply expand the dataset in the database. Consequently, many of them opt to reset it on a weekly basis. It is puzzling why this aspect was not thoroughly considered.

Is there any avenue for providing feedback on this matter?

JohnGreenan commented 1 year ago

Hello @forexweb3trading

Are you or a firm with which you are associated members of the FIX Trading Community?

If yes, see the original post in this issue for details of the FIX Trading Community working group where this has been discussed.

That's where suitably qualified people can offer feedback.