Skip to content
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: Catch and suppress buffer errors inside transaction (WPB-16234) #6959

Merged
merged 1 commit into from
Feb 24, 2025

Conversation

thisisamir98
Copy link
Contributor

@thisisamir98 thisisamir98 commented Feb 24, 2025

Description

When we receive out of order messages core crypto buffers them and throws one of these errors:

BufferedFutureMessage

Other("Incoming message is a commit for which we have not yet received all the proposals. Buffering until all proposals have arrived.")

Currently if you use the non-transactional API this means buffered messages will never be persisted since the underlying transaction is always cancelled when errors bubble up.

Solution

When decrypting messages use the transactional API and catch the buffer errors inside the transaction to avoid the transaction being cancelled since we actually want the changes, buffered messages, to be persisted.

@thisisamir98 thisisamir98 merged commit df8bbb3 into main Feb 24, 2025
9 checks passed
@thisisamir98 thisisamir98 deleted the WPB-16234 branch February 24, 2025 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants