-
Notifications
You must be signed in to change notification settings - Fork 34
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
feat(ledger): support LMDB as a blockstore database backend #352
base: main
Are you sure you want to change the base?
Commits on Nov 6, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 17070a7 - Browse repository at this point
Copy the full SHA 17070a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 427fce7 - Browse repository at this point
Copy the full SHA 427fce7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f1fd0cf - Browse repository at this point
Copy the full SHA f1fd0cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fc08c7 - Browse repository at this point
Copy the full SHA 3fc08c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f0fe86 - Browse repository at this point
Copy the full SHA 3f0fe86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c9a312 - Browse repository at this point
Copy the full SHA 4c9a312View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8be72a0 - Browse repository at this point
Copy the full SHA 8be72a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d03475c - Browse repository at this point
Copy the full SHA d03475cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d4682f1 - Browse repository at this point
Copy the full SHA d4682f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1a261c - Browse repository at this point
Copy the full SHA e1a261cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f3bb7b - Browse repository at this point
Copy the full SHA 6f3bb7bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 876eb2d - Browse repository at this point
Copy the full SHA 876eb2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 79427fc - Browse repository at this point
Copy the full SHA 79427fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c22591 - Browse repository at this point
Copy the full SHA 1c22591View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd49700 - Browse repository at this point
Copy the full SHA cd49700View commit details -
Configuration menu - View commit details
-
Copy full SHA for c01b74f - Browse repository at this point
Copy the full SHA c01b74fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 54975b2 - Browse repository at this point
Copy the full SHA 54975b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 11cd6cc - Browse repository at this point
Copy the full SHA 11cd6ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for e9d84f9 - Browse repository at this point
Copy the full SHA e9d84f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ed42a0 - Browse repository at this point
Copy the full SHA 2ed42a0View commit details -
fix(ledger): reusing hashmap write batch after execution is a bug, an…
…d leads to memory leaks
Configuration menu - View commit details
-
Copy full SHA for 038f9e5 - Browse repository at this point
Copy the full SHA 038f9e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1808660 - Browse repository at this point
Copy the full SHA 1808660View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8add233 - Browse repository at this point
Copy the full SHA 8add233View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbe786a - Browse repository at this point
Copy the full SHA dbe786aView commit details -
fix(ledger): write batch copy/pointer mismanagement
the problem was in insertShreds because it was copying the write batch instead of getting a pointer. so it would only insert the things that are inserted by the pending state, not insertShreds
Configuration menu - View commit details
-
Copy full SHA for e1d5fdc - Browse repository at this point
Copy the full SHA e1d5fdcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4710c13 - Browse repository at this point
Copy the full SHA 4710c13View commit details -
ci: explicitly test ledger databases in github workflow, and don't re…
…quire all dependencies during partial test runs
Configuration menu - View commit details
-
Copy full SHA for 25bd099 - Browse repository at this point
Copy the full SHA 25bd099View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac6ba87 - Browse repository at this point
Copy the full SHA ac6ba87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 385aa53 - Browse repository at this point
Copy the full SHA 385aa53View commit details -
fix(ledger): close lmdb env on deinit, and don't abort write txns
There is a bizarre behavior of lmdb that is not documented anywhere. LMDB always reuses the same transaction state for every write transaction. A pointer to it is stored in the env struct and recycled. Aborting a transaction frees the transaction pointer. So if you abort a write transaction, it frees the only write transaction pointer. This corrupts the memory of lmdb because it will try to use the same pointer later as if it is valid. I can't understand how this behavior of lmdb is in any way sane or reasonable, so maybe I'm missing something. Anyway, when you close the env, it tries to free the write transaction, leading to a double free if you already aborted the transaction. that's why it cropped up during this change. so I'm just having it reset write transactions now, instead of abort, which should be fine
Configuration menu - View commit details
-
Copy full SHA for fd14806 - Browse repository at this point
Copy the full SHA fd14806View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42e7608 - Browse repository at this point
Copy the full SHA 42e7608View commit details -
fix(ledger): allocator misuse in BytesRef
allocator was misused for generic recycling of resources. this broke with lmdb because it segfaults when Allocator.free attempts to overwrite the with `undefined`
Configuration menu - View commit details
-
Copy full SHA for 53a9ea9 - Browse repository at this point
Copy the full SHA 53a9ea9View commit details