-
Notifications
You must be signed in to change notification settings - Fork 6
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
WIP for dynamic coordinator selector #333
Conversation
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
…tx-submit-dbtx Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
…estimation Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: John Hosie <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Next rev of E2E tests for #333
…eido-io/paladin into pubtx-submit-dbtx Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
…t step Signed-off-by: Peter Broadhurst <[email protected]>
Signed-off-by: Peter Broadhurst <[email protected]>
…-dbtx Refactor nonce assignment to post-submit of public transactions
Signed-off-by: Peter Broadhurst <[email protected]>
…eido-io/paladin into dynamic-coorinator-selection
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hosie - I've gone back through the change set in this PR to validate it just contains the overall set of changes that have been under significant test and enhancement through the past weeks.
I believe there are some tweaks you would like to make on the overall PR summary before it merges, but I'm leaving you the approval here as I don't think there are any code changes needed before merge.
Looking forward to seeing this great set of improvements merge 👍
First steps towards implementing the dynamic coordinator selection algorithm for #329
and a bunch of other fixes required to achieve the concurrency and longevity needed to test this behaviour.
This PR introduces the coordinatorSelector component which is called before and then again after a new private transaction has been assembled and decides whether the assembling node should be responsible for coordinating the endorsement flow and submission to base ledger for this transaction or whether it should be delegated.
The decision is based on the configuration of the domain ( e.g. zeto is always coordinated by sender node, noto is always coordinated by notary node and pente choses one of the nodes in the privacy group).
Ultimately, the intent is for pente ( and other future similar domains) to dynamically rotate the coordinator responsibility in the interest of fairness and sharing the load. However, there are currently some gaps that need to be filled in order to reliably switch coordinators and those fixes are outwith the scope of this PR. So, for now, a static coordinator is chosen through a deterministic function - for each pente privacy group.
Other fixes that are included in here that were needed to get us to the point of being able to testing that this PR achieves its actual goal ( of enabling multiple concurrent nodes submitting multiple successive transactions for a period of tim)
debug_getTransactionStatus
output) for private transaction managerAlso includes everything from #441
Still need to solve: ( for follow up PRS)
PrivateTxManger.HandleNewTx
TxManager
is unable to deliver a new transaction toPrivateTxManager
because the target sequencer's event loop channel is full, then when it drains to a certain level, load those missed transactions into the sequencer