-
Notifications
You must be signed in to change notification settings - Fork 58
test(dashmate): live state sync e2e — join tooling, churn, re-sync and fallback coverage #4530
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
base: v4.2-dev
Are you sure you want to change the base?
Changes from all commits
5241155
61ae581
0ccf084
3991c40
f5cbbed
04e2b0f
6dedff4
0ab4b99
1d9a47a
e6ed7e2
eb8cc28
ff454d7
63270c7
428052c
3329685
e8892d2
4fd9b7a
1d68e82
aad6880
832a51f
c5897a6
de645cb
04ca295
2fcffd1
685c55b
9122f7a
da186a3
846709e
0a98e9d
148e547
01e0c35
a318665
f6347e5
80b3155
5185e01
62091fa
21af3b4
f9848dd
b3fd742
7a4aaca
833d2f3
dbdfe81
1a005de
b67e4b3
701c4c6
18c0819
48b1389
a78d949
4c35b54
a686b03
947a99a
15736ee
7a815ec
380adfd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -131,3 +131,32 @@ opt-level = 3 | |
|
|
||
| version = "4.2.0-dev.5" | ||
| rust-version = "1.92" | ||
|
|
||
| # ============================================================================ | ||
| # TEMPORARY — QA ONLY. DROP THIS AT THE REAL RE-PIN. | ||
| # | ||
| # Every grovedb crate is pinned in the package manifests to dashpay/grovedb | ||
| # rev 6c882c3, which carries a restore defect for sum trees: applying a state | ||
| # sync snapshot chunk fails GroveDB verification ("apply_snapshot_chunk grovedb | ||
| # verification failed with N incorrect hashes"), so a joining node can never | ||
| # complete a state sync. packages/rs-drive-abci/tests/sum_tree_sync_probe.rs | ||
| # pins that defect in-tree. | ||
| # | ||
| # dashpay/grovedb#840 (branch feat/state-sync-v2 on the PastaPastaPasta fork, | ||
| # head 10a63e1) fixes it, and its restore wire version is 1, which is inside | ||
| # drive-abci's supported set — so no protocol plumbing changes with it. | ||
| # | ||
| # This section exists so the state sync e2e can be run against the fix before | ||
| # the fork is merged and re-pinned by rev. It MUST be removed once the real | ||
| # pin lands: a branch reference is not reproducible, and a workspace [patch] | ||
| # silently overrides every manifest's rev. | ||
| # ============================================================================ | ||
| [patch."https://github.com/dashpay/grovedb"] | ||
| grovedb = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
| grovedb-costs = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
| grovedb-path = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
| grovedb-storage = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
| grovedb-version = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
| grovedb-epoch-based-storage-flags = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
| grovedb-query = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
| grovedb-commitment-tree = { git = "https://github.com/PastaPastaPasta/grovedb", branch = "feat/state-sync-v2" } | ||
|
Comment on lines
+154
to
+162
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 Blocking: Replace the mutable GroveDB fork override before merge The workspace patch replaces every manifest-pinned GroveDB crate with a branch on a contributor-owned fork. Cargo.lock currently records commit 10a63e1e2dab39b6cc59af8253dc42e187f071c6, but lockfile regeneration or an update follows the branch head, making consensus-critical storage and proof code mutable and dependent on a personal fork. The PR description and in-file comment explicitly identify this override as temporary and release-blocking. Remove the patch and update the package pins and lockfile to the immutable reviewed revision in dashpay/grovedb after the fix merges. source: ['claude'] |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 Blocking: Give the state-sync E2E job enough time to finish
This new matrix entry invokes
.github/workflows/tests-dashmate.yml, where the entire reusable job hastimeout-minutes: 30. The reported state-sync suite already takes approximately 29 minutes, while that job must also perform checkout, dependency setup, artifact downloads, image pulls, cache or volume restoration, and other preparation; the reusable workflow notes that cold image pulls alone can consume much of 15 minutes. The suite's 120-minute Mocha timeout cannot help because GitHub cancels the enclosing job first. Add a per-matrix timeout input, raise the reusable timeout, split the suite, or reduce its runtime enough to leave meaningful setup and execution margin.source: ['claude']