fix(consensus): reduce output-only messaging,fix jmt error #1155
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Output only committees do not send LocalPrepare
Always use parent block ID to fetch JMT pending state.
Simplify evidence update apply to transaction pool record
Improve performance of missing transaction processing
Fix leader failure
Reduce/simplify prepare phase evidence
Avoid block propose delay when changing epochs
Motivation and Context
Output-only shard groups do not need to send prepare-phase cross-shard exchanges as they don't involve any inputs. This PR removes this pledging for output only nodes.
The previous pending JMT diffs query used the justify block_id. However, if the justify != parent, the JMT should include pending state for the parent since state changes will still be committed.
Fixes #1154
How Has This Been Tested?
Manually tariswap test and existing tests
What process can a PR reviewer use to test or verify this change?
Bug fixes
Breaking Changes