-
Notifications
You must be signed in to change notification settings - Fork 244
kvdb-rocksdb: Make snappy and jemalloc configurable features
#950
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
kvdb-rocksdb: Make snappy and jemalloc configurable features
#950
Conversation
bkchr
left a comment
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.
Please no.
What you want to do here is to make the jemalloc feature configurable. Aka you expose the feature from this crate and make it enabled by default. Basically what you already have done here. But, you don't introduce any kind of "x-shadow" feature, because that clearly doesn't belong here.
snappy and jemalloc configurable features
|
@xDimon please update the Changelog file. |
143437d to
919fec1
Compare
For hash-pinned dependencies, adds comments documenting the associated versions. Adds a pin to `slither-analyzer` which was prior missing. Updates to Monero 0.18.4.4. `mimalloc` now has the correct option set when building for `musl`. A C++ compiler is no longer required in its Docker image. The runtime's `Dockerfile` now symlinks a `libc.so` already present on the image instead of creating one itself. It also builds the runtime within the image to ensure it only happens once. The test to ensure the methodology is reproducible has been updated to not simply create containers from the image, yet rebuild the image entirely, accordingly. This also is more robust and arguably should have already been done. The pin to the exact hash of the `patch-polkadot-sdk` repo in every `Cargo.toml` has been removed. The lockfile already serves that role, simplifying updating in the future. The latest Rust nightly is adopted as well (superseding #697). The `librocksdb-sys` patch is replaced with a `kvdb-rocksdb` patch, removing a git dependency, thanks to paritytech/parity-common#950.
Description:
This PR introduces an optional feature x-shadow that disables the use of jemalloc, as it leads to deadlocks when running under the Shadow network simulator.
Rationale:
In the Shadow simulation environment, the initialization of jemalloc becomes re-entrant due to Shadow’s interception of system calls. This reentrancy causes jemalloc to deadlock during startup. Disabling jemalloc under the x-shadow feature prevents these deadlocks and allows the simulation to run reliably, while keeping the allocator behavior unchanged for normal builds.