Skip to content

update genproto#2136

Merged
ebuchman merged 1 commit intodevelopfrom
1944-update-grpc
Aug 4, 2018
Merged

update genproto#2136
ebuchman merged 1 commit intodevelopfrom
1944-update-grpc

Conversation

@melekes
Copy link
Contributor

@melekes melekes commented Aug 2, 2018

Closes #1944

  • Updated all relevant documentation in docs
  • Updated all code comments where relevant
  • Wrote tests
  • Updated CHANGELOG.md

@melekes melekes requested review from ebuchman and xla as code owners August 2, 2018 13:56
@ebuchman ebuchman merged commit 4cbeb30 into develop Aug 4, 2018
@ebuchman ebuchman deleted the 1944-update-grpc branch August 4, 2018 03:40
iKapitonau pushed a commit to scrtlabs/tendermint that referenced this pull request Jul 10, 2024
…nged` while rollback at a special height (backport tendermint#2136) (tendermint#2457)

This is an automatic backport of pull request tendermint#2136 done by
[Mergify](https://mergify.com).


---


<details>
<summary>Mergify commands and options</summary>

<br />

More conditions and actions can be found in the
[documentation](https://docs.mergify.com/).

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](https://dashboard.mergify.com) you
can:

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

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

Co-authored-by: Ethan <cosinlinker@gmail.com>
iKapitonau pushed a commit to scrtlabs/tendermint that referenced this pull request Jul 10, 2024
…ermint#2459) (tendermint#2464)

This is an automatic backport of pull request tendermint#2459 done by
[Mergify](https://mergify.com).


---


<details>
<summary>Mergify commands and options</summary>

<br />

More conditions and actions can be found in the
[documentation](https://docs.mergify.com/).

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](https://dashboard.mergify.com) you
can:

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

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

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
cboh4 pushed a commit to scrtlabs/tendermint that referenced this pull request Apr 7, 2025
…nged` while rollback at a special height (backport tendermint#2136) (tendermint#2611)

closes: tendermint#2137 tendermint#1074

## Description
Rollback at a specific height causes the node to fail to start. This is
caused by the error code:

https://github.com/cometbft/cometbft/blob/635d0b596c7300c98caa57e7aab26a7a4579ab97/internal/state/rollback.go#L71

According to the definition of the `State` struct as below

https://github.com/cometbft/cometbft/blob/635d0b596c7300c98caa57e7aab26a7a4579ab97/internal/state/state.go#L63
`LastHeightValidatorsChanged` satisfy the following condition under any
circumstances
1 <= `state.LastHeightValidatorsChanged` <= `state.LastBlockHeight + 1 +
1`

this condition can also be confirmed by looking at the code in `func
(store dbStore) save(state State, key []byte) error`

https://github.com/cometbft/cometbft/blob/635d0b596c7300c98caa57e7aab26a7a4579ab97/internal/state/store.go#L229

`state.LastHeightValidatorsChanged` is with `nextHeight +
1`(`state.LastBlockHeight + 1 + 1`) corresponds.


When we rollback from block height `state.LastHeightValidatorsChanged -
1` to height `state.LastHeightValidatorsChanged - 2`,
`newState.LastHeightValidatorsChanged` would be wrong to modified into
the `state.LastHeightValidatorsChanged - 1`
 

## Issue
Let me give an example to describe the issue:

### example
> ... => [block 242 (5validators)] ==state1(5validators)==> [block 243
(5validators)] ==state2(4validators)==> [block 244 (4validators)] => ...
 
1. Assume that the current height of the block is 243, current state is
`state2` and `state2.LastHeightValidatorsChanged` == 244, validatorSet
changed to 4 validators in the block 244 and state2

2. Rollback to block 242 and state1, the target `rollbackHeight` == 242

3. Since the error code,
https://github.com/cometbft/cometbft/blob/635d0b596c7300c98caa57e7aab26a7a4579ab97/internal/state/rollback.go#L71
`state1.LastHeightValidatorsChanged` was changed to 243 incorrectly and
it should be 244

4. After rollbacked to block 242, node could not start properly

## Solution
See code for details.


#### PR checklist

- [x] 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
- [x] Title follows the [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec
<hr>This is an automatic backport of pull request tendermint#2136 done by
[Mergify](https://mergify.com).

Co-authored-by: Ethan <cosinlinker@gmail.com>
cboh4 pushed a commit to scrtlabs/tendermint that referenced this pull request Apr 7, 2025
…ermint#2459) (tendermint#2612)

<hr>This is an automatic backport of pull request tendermint#2459 done by
[Mergify](https://mergify.com).

---------

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
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.

2 participants