-
Notifications
You must be signed in to change notification settings - Fork 11.4k
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
Better out of capacity error #1711
Conversation
self.pending.entry(digest).or_insert_with(Vec::new).push(replier); | ||
} else if replier.send(Err(SuiError::ListenerCapacityExceeded)).is_err() { | ||
debug!("No replier to listen to consensus output {digest}"); |
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 a debug
or a warn
?
Do we have an issue / comment to track the recovery logic, and which side is involved (Narwhal, Sui ...).
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 try to never allow bad clients to make us log warns (only bad does)
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 recovery logic will have to be the retries of the client
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.
A way to do this orthogonally to the log level is to set up a span, with context on what's going on. That would allow us to filter what's going on:
sui/sui_core/src/authority_server.rs
Lines 169 to 174 in 1a25e68
// Enable Trace Propagation across spans/processes using tx_digest | |
let span = tracing::debug_span!( | |
"process_tx", | |
?tx_digest, | |
tx_kind = transaction.data.kind_as_str() | |
); |
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.
Thanks for the improvement!
self.pending.entry(digest).or_insert_with(Vec::new).push(replier); | ||
} else if replier.send(Err(SuiError::ListenerCapacityExceeded)).is_err() { | ||
debug!("No replier to listen to consensus output {digest}"); |
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.
A way to do this orthogonally to the log level is to set up a span, with context on what's going on. That would allow us to filter what's going on:
sui/sui_core/src/authority_server.rs
Lines 169 to 174 in 1a25e68
// Enable Trace Propagation across spans/processes using tx_digest | |
let span = tracing::debug_span!( | |
"process_tx", | |
?tx_digest, | |
tx_kind = transaction.data.kind_as_str() | |
); |
Better out-of-capacity error message for consensus adapter