Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Fix #1680 #1682
Fix #1680 #1682
Changes from all commits
5b7d3e6
299c7cc
cc0f6ff
4ee8de2
66c1d68
b77dddd
8535202
ce9a796
297a4c5
7eec483
fac67a9
b967a92
17064dd
ebdd7cc
f45f648
448f3a5
24127d1
c07faa6
53eab3d
7f00742
d0c4e8f
184f5ca
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
So if this cap is exceeded there can be clients waiting for an ack forever? Shouldn't we be rejecting instead
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.
The channel drops so the client will knows automatically. Although you're right that this can be more explicit
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.
let me make a note for this
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.
Key question: why is all this happening through message passing and separate tasks instead of the task that interacts with consensus keeping the hashmap and updating when transactions go in, and when transactions go out? Are there more than 1 threads injecting and consuming messages to/from consensus?
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.
It is not clear to me how to best embed this with the current Sui logic. There is one task (
ConsensusListener
) that receives consensus outputs. TheConsensusAdapter
is not a task, it simply provides helpers to interact with consensus that theAuthorityServer
uses.We have many tasks injecting transactions to consensus (the same tasks running the
AuthorityServer
, one per client). We however have a single task handling the output of consensus (ConsensusListener
).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.
I can't wait for
inspect
to stabilize.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.
Is this really necessary, or could we just periodically
self.pending.retain(|x| !x.is_empty())
?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.
We could but it's extra LOC