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 Observer] Add ObservedOrderedBlock to various stores. #15892

Open
wants to merge 3 commits into
base: co_exec_pool2
Choose a base branch
from

Conversation

JoshLind
Copy link
Contributor

@JoshLind JoshLind commented Feb 5, 2025

Note: this PR is built on: #15869

Description

This PR adds a new ObservedOrderedBlock wrapper to consensus observer, with skeleton code. This supports self-contained ordered blocks, and blocks with windows (for execution pool).

The PR offers the following commits:

  1. Add the new ObservedOrderedBlock type, and integrate it into the pending block store.
  2. Add ObservedOrderedBlock to the ordered block store.
  3. Add a new hash index to the pending block store (including tests). This will be used for window dependency checking and traversal.

In the next PR, I'll work on the window dependency traversal logic, and start working on the new buffering and clearing logic.

Testing Plan

New and existing test infrastructure.

Copy link

trunk-io bot commented Feb 5, 2025

⏱️ 1h 45m total CI duration on this PR
Job Cumulative Duration Recent Runs
test-target-determinator 36m 🟩🟩🟩🟩 (+3 more)
check-dynamic-deps 35m 🟩🟩🟩🟩🟩 (+7 more)
rust-cargo-deny 19m 🟩🟩🟩🟩🟩 (+7 more)
general-lints 5m 🟩🟩🟩🟩🟩 (+7 more)
semgrep/ci 4m 🟩🟩🟩🟩🟩 (+7 more)
file_change_determinator 2m 🟩🟩🟩🟩🟩 (+7 more)
file_change_determinator 1m 🟩🟩🟩🟩🟩 (+3 more)
permission-check 38s 🟩🟩🟩🟩🟩 (+7 more)
permission-check 31s 🟩🟩🟩🟩🟩 (+7 more)
permission-check 21s 🟩🟩🟩🟩🟩 (+3 more)
determine-docker-build-metadata 17s 🟩🟩🟩🟩🟩 (+3 more)

settingsfeedbackdocs ⋅ learn more about trunk.io

@JoshLind JoshLind added the CICD:run-forge-e2e-perf Run the e2e perf forge only label Feb 6, 2025

This comment has been minimized.

This comment has been minimized.

@JoshLind JoshLind changed the title [Consensus Observer] Add ObservedOrderedBlock to pending block store. [Consensus Observer] Add ObservedOrderedBlock to various stores. Feb 6, 2025

This comment has been minimized.

This comment has been minimized.

@JoshLind JoshLind force-pushed the co_exec_pool3 branch 3 times, most recently from e9dcf63 to d45756e Compare February 6, 2025 15:19

This comment has been minimized.

@JoshLind JoshLind requested review from bchocho and hariria February 6, 2025 15:55
@JoshLind JoshLind marked this pull request as ready for review February 6, 2025 15:55

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

github-actions bot commented Feb 6, 2025

✅ Forge suite realistic_env_max_load success on 3197ade1029f17ef5f5c6b1398ec3aab13d5cba4

two traffics test: inner traffic : committed: 12531.84 txn/s, submitted: 12532.79 txn/s, expired: 0.95 txn/s, latency: 3159.19 ms, (p50: 2700 ms, p70: 2900, p90: 3300 ms, p99: 9300 ms), latency samples: 4764860
two traffics test : committed: 99.97 txn/s, latency: 1654.84 ms, (p50: 1600 ms, p70: 1700, p90: 2000 ms, p99: 2500 ms), latency samples: 1700
Latency breakdown for phase 0: ["MempoolToBlockCreation: max: 1.804, avg: 1.618", "ConsensusProposalToOrdered: max: 0.331, avg: 0.326", "ConsensusOrderedToCommit: max: 0.584, avg: 0.517", "ConsensusProposalToCommit: max: 0.913, avg: 0.843"]
Max non-epoch-change gap was: 1 rounds at version 5194231 (avg 0.00) [limit 4], 1.85s no progress at version 5194231 (avg 0.22s) [limit 15].
Max epoch-change gap was: 0 rounds at version 0 (avg 0.00) [limit 4], 0.76s no progress at version 2147346 (avg 0.76s) [limit 16].
Test Ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CICD:run-forge-e2e-perf Run the e2e perf forge only
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant