Skip to content

Conversation

@zekun000
Copy link
Collaborator

@zekun000 zekun000 commented Nov 6, 2025

Description

How Has This Been Tested?

Key Areas to Review

Type of Change

  • New feature
  • Bug fix
  • Breaking change
  • Performance improvement
  • Refactoring
  • Dependency update
  • Documentation update
  • Tests

Which Components or Systems Does This Change Impact?

  • Validator Node
  • Full Node (API, Indexer, etc.)
  • Move/Aptos Virtual Machine
  • Aptos Framework
  • Aptos CLI/SDK
  • Developer Infrastructure
  • Move Compiler
  • Other (specify)

Checklist

  • I have read and followed the CONTRIBUTING doc
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I identified and added all stakeholders and component owners affected by this change as reviewers
  • I tested both happy and unhappy path of the functionality
  • I have made corresponding changes to the documentation

Note

Tightens QS/consensus backpressure and batch sizing defaults, and plumbs an optional block gas limit through OptQuorumStore payloads, observer messages, and payload manager.

  • Configs:
    • Consensus backpressure: increase ExecutionBackpressureTxnLimitConfig.min_calibrated_txns_per_block to 30 in config/src/config/consensus_config.rs.
    • Quorum Store sizing: set DEFEAULT_MAX_BATCH_TXNS to 50 and reduce receiver_max_batch_txns to 100 in config/src/config/quorum_store_config.rs.
  • Payloads & Plumbing:
    • Extend OptQS transaction payloads to carry an optional block gas limit:
      • Add block_gas_limit() accessor in consensus/consensus-types/src/payload.rs and accept gas_limit in BlockTransactionPayload::new_opt_quorum_store.
      • Update observer message API new_opt_quorum_store(...) to take transaction_limit and gas_limit; adjust tests accordingly in consensus/src/consensus_observer/network/observer_message.rs.
      • Pass through block_gas_limit() when constructing transaction payloads in consensus/src/payload_manager/quorum_store_payload_manager.rs.```

Written by Cursor Bugbot for commit 15dac76. This will update automatically on new commits. Configure here.

@zekun000 zekun000 added the CICD:build-images when this label is present github actions will start build+push rust images from the PR. label Nov 6, 2025
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

target_block_time_ms: 90,
},
min_calibrated_txns_per_block: 8,
min_calibrated_txns_per_block: 30,
Copy link

Choose a reason for hiding this comment

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

Bug: Undersized Blocks Break Batching Guarantees

The min_calibrated_txns_per_block value of 30 is now less than MIN_BLOCK_TXNS_AFTER_FILTERING (100), which is defined as 2 * DEFEAULT_MAX_BATCH_TXNS. This violates the design principle that blocks should contain at least two QS batch sizes. Execution backpressure can now reduce blocks below the minimum required to accommodate two QS batches, potentially causing issues with batch handling and the backpressure system's assumptions.

Fix in Cursor Fix in Web

@zekun000 zekun000 enabled auto-merge (rebase) November 7, 2025 20:43
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@zekun000 zekun000 merged commit b264f30 into main Nov 7, 2025
48 checks passed
@zekun000 zekun000 deleted the zekun/config branch November 7, 2025 22:44
@zekun000 zekun000 added the v1.37 label Nov 7, 2025
@aptos-bot
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
aptos-release-v1.37

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

@aptos-bot
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
aptos-release-v1.37

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

1 similar comment
@aptos-bot
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
aptos-release-v1.37

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 7, 2025

✅ Forge suite compat success on eace41639a33cfd0e2ba783814be05cc2a8e7dbd ==> 15dac763fbffc1d12f8516952700846c66a4dbe6

Compatibility test results for eace41639a33cfd0e2ba783814be05cc2a8e7dbd ==> 15dac763fbffc1d12f8516952700846c66a4dbe6 (PR)
1. Check liveness of validators at old version: eace41639a33cfd0e2ba783814be05cc2a8e7dbd
compatibility::simple-validator-upgrade::liveness-check : committed: 14542.89 txn/s, latency: 2378.52 ms, (p50: 2500 ms, p70: 2600, p90: 2800 ms, p99: 3100 ms), latency samples: 472640
2. Upgrading first Validator to new version: 15dac763fbffc1d12f8516952700846c66a4dbe6
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 4907.55 txn/s, latency: 6929.86 ms, (p50: 7700 ms, p70: 7900, p90: 8000 ms, p99: 8000 ms), latency samples: 175980
3. Upgrading rest of first batch to new version: 15dac763fbffc1d12f8516952700846c66a4dbe6
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 5028.18 txn/s, latency: 6840.82 ms, (p50: 7600 ms, p70: 7700, p90: 7800 ms, p99: 7800 ms), latency samples: 177560
4. upgrading second batch to new version: 15dac763fbffc1d12f8516952700846c66a4dbe6
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 8212.87 txn/s, latency: 4127.98 ms, (p50: 4500 ms, p70: 4600, p90: 4700 ms, p99: 4800 ms), latency samples: 273680
5. check swarm health
Compatibility test for eace41639a33cfd0e2ba783814be05cc2a8e7dbd ==> 15dac763fbffc1d12f8516952700846c66a4dbe6 passed
Test Ok

@github-actions
Copy link
Contributor

github-actions bot commented Nov 7, 2025

✅ Forge suite realistic_env_max_load success on 15dac763fbffc1d12f8516952700846c66a4dbe6

two traffics test: inner traffic : committed: 13172.28 txn/s, latency: 2860.61 ms, (p50: 2700 ms, p70: 3000, p90: 3300 ms, p99: 6000 ms), latency samples: 4904160
two traffics test : committed: 100.02 txn/s, latency: 872.28 ms, (p50: 800 ms, p70: 800, p90: 1000 ms, p99: 2600 ms), latency samples: 1780
Latency breakdown for phase 0: ["MempoolToBlockCreation: max: 2.548, avg: 2.194", "ConsensusProposalToOrdered: max: 0.169, avg: 0.166", "ConsensusOrderedToCommit: max: 0.076, avg: 0.065", "ConsensusProposalToCommit: max: 0.242, avg: 0.231"]
Max non-epoch-change gap was: 2 rounds at version 5478622 (avg 0.00) [limit 4], 2.21s no progress at version 5478622 (avg 0.07s) [limit 15].
Max epoch-change gap was: 0 rounds at version 0 (avg 0.00) [limit 4], 0.25s no progress at version 2120773 (avg 0.25s) [limit 16].
Test Ok

@github-actions
Copy link
Contributor

github-actions bot commented Nov 7, 2025

✅ Forge suite framework_upgrade success on eace41639a33cfd0e2ba783814be05cc2a8e7dbd ==> 15dac763fbffc1d12f8516952700846c66a4dbe6

Compatibility test results for eace41639a33cfd0e2ba783814be05cc2a8e7dbd ==> 15dac763fbffc1d12f8516952700846c66a4dbe6 (PR)
Upgrade the nodes to version: 15dac763fbffc1d12f8516952700846c66a4dbe6
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 2213.04 txn/s, submitted: 2219.67 txn/s, failed submission: 6.63 txn/s, expired: 6.63 txn/s, latency: 1327.98 ms, (p50: 1200 ms, p70: 1500, p90: 1800 ms, p99: 2100 ms), latency samples: 200282
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 2241.26 txn/s, submitted: 2247.41 txn/s, failed submission: 6.15 txn/s, expired: 6.15 txn/s, latency: 1312.69 ms, (p50: 1200 ms, p70: 1500, p90: 1700 ms, p99: 2100 ms), latency samples: 204141
5. check swarm health
Compatibility test for eace41639a33cfd0e2ba783814be05cc2a8e7dbd ==> 15dac763fbffc1d12f8516952700846c66a4dbe6 passed
Upgrade the remaining nodes to version: 15dac763fbffc1d12f8516952700846c66a4dbe6
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 2174.91 txn/s, submitted: 2181.35 txn/s, failed submission: 6.44 txn/s, expired: 6.44 txn/s, latency: 1378.04 ms, (p50: 1200 ms, p70: 1500, p90: 1800 ms, p99: 2700 ms), latency samples: 195842
Test Ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD:build-images when this label is present github actions will start build+push rust images from the PR. v1.37

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants