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(consensus)!: optmise foreign pledging for output-only case #1244

Open
wants to merge 5 commits into
base: development
Choose a base branch
from

Conversation

sdbondi
Copy link
Member

@sdbondi sdbondi commented Jan 15, 2025

Description

fix(consensus): output-only shard groups skip the LocalPrepare and AllPrepare phase and go straight to LocalAccept
fix(consensus)!: do not send substate values twice to the same shard groups for prepare and accept phases
fix(consensus)!: output pledges are never included in block pledges, taken directly from block evidence
fix(consensus): process foreign proposals in on_propose
fix(consensus): do not exclude substate pledges that are still pledged to other applicable transactions (Read lock case)
fix(consensus): bug causing incorrect failed validation of input pledges
fix(consensus): foreign abort reason is carried over to other shards (instead of the unhelpful "ForeignShardDecidedToAbort")
fix(consensus):

feat(vn/webui): add atom evidence JSON to block view
fix(swarm/webui): bug causing UI crash in abort case

Motivation and Context

General stability fixes and optimisations for consensus

How Has This Been Tested?

New consensus unit test
Manually tariswap bench, no observed problems

Breaking Changes

  • None
  • Requires data directory to be deleted
  • Other - Please specify

BREAKING CHANGE: changes to wire protocol

@sdbondi sdbondi force-pushed the consensus-output-only-optimise branch from 3df5147 to 739661e Compare January 15, 2025 11:56
Copy link

github-actions bot commented Jan 15, 2025

Test Results (CI)

607 tests  ±0   607 ✅ ±0   3h 31m 11s ⏱️ - 9m 57s
 66 suites ±0     0 💤 ±0 
  2 files   ±0     0 ❌ ±0 

Results for commit fb912ec. ± Comparison against base commit 9500de9.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
consensus_tests ‑ consensus::multi_shard_unversioned_input_conflict
consensus_tests ‑ consensus::multishard_local_inputs_foreign_outputs_abort

♻️ This comment has been updated with latest results.

@sdbondi sdbondi force-pushed the consensus-output-only-optimise branch from c973a96 to 6a44427 Compare January 16, 2025 12:41
@sdbondi sdbondi requested a review from a team as a code owner January 17, 2025 05:05
@sdbondi sdbondi force-pushed the consensus-output-only-optimise branch from da8a7a2 to 238c0e1 Compare January 17, 2025 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants