-
Notifications
You must be signed in to change notification settings - Fork 49
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
Use parity-db in current Dockerfiles #455
Conversation
This has massively faster CI times, yet I believe some services create TXNs while a TXN already exists, causing deadlocks with the redb backend :/ subxt also consistently fails for 4 specific tests with a websocket connectivity error? I have no idea why that's happening (a debug assertion, some really specific performance commentary...). This PR likely should be broken into a few smaller PRs that let is triage individual changes. |
The motivation for redb was to remove the multiple rocksdb compile times from CI.
Rebased on top of #462. |
While I want to see if this PR's CI runs work (except coordinator and full stack), coordinator will always fundamentally fail. The tributary manages its own TXNs so we will always have nested TXNs. sled? It hasn't had a release in a while, so we'd have to go to marble or it as a git dependency. We could use the MemDB? AgateDB, by tikv? ParityDB, which is a patricia merkle trie yet won't incur C compile times? |
It still has much better compile times yet doesn't block when creating multiple transactions. It also is actively maintained and doesn't grow our tree. The MPT aspects are irrelevant.
The prior full stack tests failed with the following.
I have absolutely no clue how this happened. The DB being corrupt should not have this effect. My only idea is DB Transaction::get being broken led to a genesis hash mismatch? That's the only piece of contextual data in the signing process. |
This saves 20-25 minutes in the CI. |
The motivation for redb was to remove the multiple rocksdb compile times from CI.