Skip to content

Clarifies that processProposal may be called for set of transactions different from the one returned in the preceding prepareProposal (backport #1033)#1052

Merged
lasarojc merged 1 commit intov0.38.xfrom
mergify/bp/v0.38.x/pr-1033
Jun 29, 2023
Merged

Clarifies that processProposal may be called for set of transactions different from the one returned in the preceding prepareProposal (backport #1033)#1052
lasarojc merged 1 commit intov0.38.xfrom
mergify/bp/v0.38.x/pr-1033

Conversation

@mergify
Copy link
Contributor

@mergify mergify bot commented Jun 29, 2023

This is an automatic backport of pull request #1033 done by Mergify.


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com

…different from the one returned in the preceding prepareProposal (#1033)

If a proposer fails after calling prepareProposal and before calling processProposal, then the following may happen upon restarting:
- if failed before signing another message, then will invoke prepareProposal again, sign a new block, probably empty, and propose it;
- if failed after signing a proposal but before writing the  proposal message into the WAL, then will invoke prepareProposal and produce a new, probably empty block, [fail to sign it](https://github.com/cometbft/cometbft/blob/2789a59a9cc61c6ea56a6b266eeadf0f26ca2456/consensus/state.go#L1221), and not invoke processProposal; prevote timeouts will ensure the CometBFT is not stuck;
- if failed after writing the proposal message to the WAL, then will invoke prepareProposal, produce a new, probably empty block, fail to sign it, and invoke processProposal with the block signed before crashing.

---

#### PR checklist

- [ ] Tests written/updated
- [ ] Changelog entry added in `.changelog` (we use [unclog](https://github.com/informalsystems/unclog) to manage our changelog)
- [x] Updated relevant documentation (`docs/` or `spec/`) and code comments

(cherry picked from commit b23ef56)
@mergify mergify bot requested review from a team as code owners June 29, 2023 10:40
@lasarojc lasarojc merged commit 2472b94 into v0.38.x Jun 29, 2023
@lasarojc lasarojc deleted the mergify/bp/v0.38.x/pr-1033 branch June 29, 2023 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant