-
Notifications
You must be signed in to change notification settings - Fork 499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
services/horizon: remove internal transaction submission queue #4996
Comments
when the submission queue is removed, will trigger removal of the |
We should double-check that we don't document the queue behavior anywhere so that we do not mislead people |
What problem does your feature solve?
Horizon manages an internal submission queue. This intent of this is to protect/isolate clients from potentially receiving error messages on transaction submission when multiple transactions are submitted very quickly in succession. If transactions (from the same source account) are submitted with sequence numbers out-of-order, then this submission queue will hold those transactions in-memory so that it can re-order them in line with their sequence numbers, allowing all of them to succeed when they are actually submitted to core. This behavior has limited benefit:
Recently, core has released a change that prevents the submission of multiple transactions in a ledger for a given account. With this change, the Horizon submission queue is even less likely to provide any benefit to end-users, and if anything cause more confusion. Transactions would be queued up in-memory, only to have only one of them be able to be submitted when they were finally submitted to core.
What would you like to see?
We should remove the transaction submission queue entirely, and simply pass-through transaction submission requests directly to core. This has the potential to result in more
tx_bad_seq
errors for clients that were relying on this behavior. However, it drastically simplifies the interface, makes the underlying network behavior clearer, and reduces user confusion that could have been exacerbated by the recent core update.We'll need to be vigilant of monitoring any partner issues relating to this. Any partners that were relying on this behavior should be encouraged to migrate to a channel accounts setup, and we may need to lean-in in helping them do that.
What alternatives are there?
Not alternatives per se, but potential add-ons/scope increases we can consider:
The text was updated successfully, but these errors were encountered: