omnipaxos
omnipaxos copied to clipboard
OmniPaxos is a distributed log implemented as a Rust library.
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...
i am looking into using omnipaxos as a distributed log for building out some of distributed infrastructure . Curios if you guys have any comparisons against alternatives for example using...
Currently, a follower [caches the promise](https://github.com/haraldng/omnipaxos/blob/e6ddc52db2a1abf3bb89392e76e5b2ba8b949db6/omnipaxos/src/sequence_paxos/follower.rs#L44) message so that we can resend it upon timeout in case it gets dropped. However, the promise might contain log suffix or snapshot so...
The storage trait should have better descriptions, especially related to the indexes e.g., whether `get_log_len` should return only the number of real entries or be calculated based on the compacted...
During log synchronization, and when snapshots are enabled, a sync object with a snapshot of missing decided entries is sent to servers. Right now the out-of-date servers will always merge...
Right now Omnipaxo's functions panic on errors instead of returning results. This makes it awkward for users to recover their crashed Omnipaxos instances. It's standard for library crates to generate...
Right now we flush entries on receiving a Prepare message. There is nothing wrong with this, but it could be optimized. If we in general only send Accepted after flushing...
Right now when a user calls `Omnipaxos::read_decided_suffix()` they receive a `LogEntry` struct which wraps an entry in order to show if the entry is decided or not. Seeing as it...
To further enhance the plug-and-play ability of omnipaxos, users should be able to provide their own desired logger. This could be done with https://crates.io/crates/log tracing: https://crates.io/crates/tracing
This is just a WIP PR for now, to make the direction of the async API a bit more visible. Please make sure these boxes are checked, before submitting a...