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

[consensus][dag] dag integration helpers #10056

Merged
merged 3 commits into from
Sep 18, 2023
Merged

Conversation

ibalajiarun
Copy link
Contributor

@ibalajiarun ibalajiarun commented Sep 14, 2023

Description

  • Adds DagStateSyncComputer that implements StateComputer. Dag State sync will call into state sync using this struct.
  • Adds a fn to PersistenceLivenessStorage trait to expose consensusDB. Dag will take in a struct that implements DAGStorage and ConsensusDB implements DAGStorage.

Test Plan

@ibalajiarun ibalajiarun changed the title [consensus][dag] expose consensusdb from persistence liveness storage [consensus][dag] dag integration helpers Sep 14, 2023
Copy link
Contributor

@sasha8 sasha8 left a comment

Choose a reason for hiding this comment

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

There is nothing in this PR.
Why do you need to wrap ordering_state_computer?

@ibalajiarun
Copy link
Contributor Author

There is nothing in this PR. Why do you need to wrap ordering_state_computer?

because we are connecting ordered blocks from adapter to buffer manager directly, without going via the state computer. At this point, state computer is just for state sync, so I am wrapping ordering state computer to give it some dummy block_rx and just retain the sync logic.

We might even consider removing state computer completely for dag in future.

Copy link
Contributor

@zekun000 zekun000 left a comment

Choose a reason for hiding this comment

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

why do we need to implement the trait? can't we just expose a sync to function?

Base automatically changed from balaji/dag-async-msg-handler to main September 18, 2023 16:36
@ibalajiarun
Copy link
Contributor Author

why do we need to implement the trait? can't we just expose a sync to function?

I kept the trait for testing. We can have a DAG specific state sync trait as well. Not sure which is better.

@ibalajiarun ibalajiarun enabled auto-merge (squash) September 18, 2023 20:10
@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

✅ Forge suite compat success on aptos-node-v1.6.2 ==> f9790f710bd44452febcb688cd2151b7ffcb5fa9

Compatibility test results for aptos-node-v1.6.2 ==> f9790f710bd44452febcb688cd2151b7ffcb5fa9 (PR)
1. Check liveness of validators at old version: aptos-node-v1.6.2
compatibility::simple-validator-upgrade::liveness-check : committed: 2736 txn/s, latency: 6781 ms, (p50: 6600 ms, p90: 9300 ms, p99: 10400 ms), latency samples: 180620
2. Upgrading first Validator to new version: f9790f710bd44452febcb688cd2151b7ffcb5fa9
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 1749 txn/s, latency: 16008 ms, (p50: 18600 ms, p90: 21800 ms, p99: 22500 ms), latency samples: 90980
3. Upgrading rest of first batch to new version: f9790f710bd44452febcb688cd2151b7ffcb5fa9
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 1342 txn/s, submitted: 1352 txn/s, expired: 10 txn/s, latency: 15605 ms, (p50: 18400 ms, p90: 22100 ms, p99: 22700 ms), latency samples: 89933
4. upgrading second batch to new version: f9790f710bd44452febcb688cd2151b7ffcb5fa9
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 3388 txn/s, latency: 9250 ms, (p50: 10500 ms, p90: 12900 ms, p99: 13300 ms), latency samples: 135540
5. check swarm health
Compatibility test for aptos-node-v1.6.2 ==> f9790f710bd44452febcb688cd2151b7ffcb5fa9 passed
Test Ok

@github-actions
Copy link
Contributor

✅ Forge suite realistic_env_max_load success on f9790f710bd44452febcb688cd2151b7ffcb5fa9

two traffics test: inner traffic : committed: 6934 txn/s, latency: 5658 ms, (p50: 5400 ms, p90: 7200 ms, p99: 11400 ms), latency samples: 2995500
two traffics test : committed: 100 txn/s, latency: 3156 ms, (p50: 3200 ms, p90: 3700 ms, p99: 4400 ms), latency samples: 1720
Latency breakdown for phase 0: ["QsBatchToPos: max: 0.237, avg: 0.212", "QsPosToProposal: max: 0.172, avg: 0.142", "ConsensusProposalToOrdered: max: 0.564, avg: 0.540", "ConsensusOrderedToCommit: max: 0.488, avg: 0.474", "ConsensusProposalToCommit: max: 1.031, avg: 1.014"]
Max round gap was 1 [limit 4] at version 1588339. Max no progress secs was 3.92108 [limit 10] at version 1588339.
Test Ok

@github-actions
Copy link
Contributor

✅ Forge suite framework_upgrade success on aptos-node-v1.5.1 ==> f9790f710bd44452febcb688cd2151b7ffcb5fa9

Compatibility test results for aptos-node-v1.5.1 ==> f9790f710bd44452febcb688cd2151b7ffcb5fa9 (PR)
Upgrade the nodes to version: f9790f710bd44452febcb688cd2151b7ffcb5fa9
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 5022 txn/s, latency: 6377 ms, (p50: 6300 ms, p90: 9900 ms, p99: 10600 ms), latency samples: 185840
5. check swarm health
Compatibility test for aptos-node-v1.5.1 ==> f9790f710bd44452febcb688cd2151b7ffcb5fa9 passed
Test Ok

@ibalajiarun ibalajiarun merged commit 5abc06c into main Sep 18, 2023
67 of 74 checks passed
@ibalajiarun ibalajiarun deleted the balaji/dag-epoch-mgr-helpers branch September 18, 2023 20:57
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.

3 participants