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: Priority Patch #132

Merged
merged 4 commits into from
Aug 12, 2024

Conversation

zsystm
Copy link
Collaborator

@zsystm zsystm commented Aug 12, 2024

Description

problem

  • calculation priority is non-deterministic (EDGE CASE)
    • e.g., multiple rounds for future heights and late catch up
  • priority is not handled consensus state (no validation for this value, check how Validator set's hash is calculated)

solution

  • (short-term) reset priorities
    • Current PR's solution
  • (long-term) treat priority as consensus state
    • Will handle it later

Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • included the necessary unit and integration tests
  • reviewed "Files changed" and left comments if necessary

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed all author checklist items have been addressed
  • reviewed state machine logic
  • reviewed API design and naming
  • reviewed documentation is accurate
  • reviewed tests and test coverage
  • manually tested (if applicable)

@dudong2 dudong2 requested a review from tkkwon1998 August 12, 2024 08:10
@dongsam dongsam requested a review from dudong2 August 12, 2024 08:10
@dudong2
Copy link
Collaborator

dudong2 commented Aug 12, 2024

Node Operation and Resynchronization Test Scenario

  1. Nodes 1, 2, 3, and 4 are started and running normally.
  2. Nodes 1, 2, and 3 are stopped at block height 10 and then restarted with --reset-priority-height 10. This causes node 4 to proceed with a different priority state compared to the other nodes, leading to continuous invalid proposal signature errors due to the proposer being different from the expected one.
  3. The blockchain proceeds until block 20.
  4. All four nodes (1, 2, 3, and 4) are then stopped and restarted with --reset-priority-height 20.
  5. Finally, verify if the nodes synchronize correctly after the restart.

Copy link
Collaborator

@dudong2 dudong2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dudong2
Copy link
Collaborator

dudong2 commented Aug 12, 2024

The review for this PR has been completed in in b-harvest#90 and b-harvest/tendermint#1, and since we were in a urgent situation, I will proceed with the merge to meet the v7.1.0 binary schedule.

@dudong2 dudong2 merged commit 852aa10 into Canto-Network:v7/devleop Aug 12, 2024
8 checks passed
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