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

Make compiling RocksDB optional for storage crate #135

Open
JonathanArns opened this issue Mar 27, 2024 · 1 comment
Open

Make compiling RocksDB optional for storage crate #135

JonathanArns opened this issue Mar 27, 2024 · 1 comment

Comments

@JonathanArns
Copy link
Contributor

Could we add a feature memory-only or something like it, to remove RocksDB from the dependency list of the storage crate?
It's kind of annoying to install external binary dependencies if I don't even use them :/

@Max-Meldrum
Copy link
Contributor

It is also pulling in a bunch of other crates by default.

Possible fix:

[features]
default = ["persistent"]

# or any other suitable name (rocksdb)
persistent = [
  "dep:rocksdb",
  "dep:serde",
  "dep:bincode",
  "dep:zerocopy",
]

# all made optional
serde = { version = "1.0", features = ["derive"], optional = true }
bincode = { version = "1.3.3", optional = true }
zerocopy = { version = "0.6.1", optional = true }
rocksdb =  { version = "0.21.0", optional = true }

Set as a default feature to not break existing projects and can be disabled through:

omnipaxos_storage = { version = "..",  default-features = false }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants