You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix pending change after flushing RegisterView (#3133)
## Motivation
<!--
Briefly describe the goal(s) of this PR.
-->
@afck ran into an issue where an assertion caught unexpected pending
changes after voting for a block proposal. After investigating the
issue, the cause seems to be that `RegisterView::flush` had an edge case
where it wouldn't clear it's `update` field.
## Proposal
<!--
Summarize the proposed changes and how they address the goal(s) stated
above.
-->
Clear the `update` field after successfully flushing.
## Test Plan
<!--
Explain how you made sure that the changes are correct and that they
perform as intended.
Please describe testing protocols (CI, manual tests, benchmarks, etc) in
a way that others
can reproduce the results.
-->
A unit test was added to reproduce the issue.
## Release Plan
<!--
If this PR targets the `main` branch, **keep the applicable lines** to
indicate if you
recommend the changes to be picked in release branches, SDKs, and
hotfixes.
This generally concerns only bug fixes.
Note that altering the public protocol (e.g. transaction format, WASM
syscalls) or storage
formats requires a new deployment.
-->
- These changes should be backported to the latest `devnet` branch, then
- be released in a validator hotfix.
- These changes should be backported to the latest `testnet` branch,
then
- be released in a validator hotfix.
## Links
<!--
Optional section for related PRs, related issues, and other references.
If needed, please create issues to track future improvements and link
them here.
-->
- [reviewer
checklist](https://github.com/linera-io/linera-protocol/blob/main/CONTRIBUTING.md#reviewer-checklist)
0 commit comments