corrosion
corrosion copied to clipboard
Gossip-based service discovery (and more) for large distributed systems.
I encountered an error while attempting to build the project on my Windows machine. The error message indicates that the import `tokio::signal::unix::Signal` is unresolved, suggesting that the project is relying...
This pull request introduces cross-platform support for signal handling, enhancing the project's compatibility with both Unix and Windows environments. The changes include: - Modifications to the `Cargo.toml` and `rust-toolchain.toml` files...
Hi, I saw Corrosion has the option to import data from Consul. I am looking for an alternative to Consul's service directory, as I am running a relatively small amount...
The number of queued changes can really get large if a node has been off for a while and then starts syncing millions of changes. One problem is that ever...
Doing so both in transit and in memory should bring in significant benefits. For example: using a `u64` for `CrsqlSeq` when they should most-often fit in a `u8` is a...
Probabilistic data structures can help Corrosion sync faster by preventing 99% of lookups for "cleared" versions. Right now, a DB lookup is required if a version is known because Corrosion...
The broadcast channel used by subscriptions (https://github.com/superfly/corrosion/blob/93561d180e3ebbdd275c9b80b9663b6dcb46e2fa/crates/corro-agent/src/api/public/pubsub.rs#L621) can run out of capacity and skip the events in case the data is read really fast from the disk. Somehow, in this...
The pooled client is configured with multiple Corrosion servers and falls back to alternative servers in case the current one can no longer be connected to. Otherwise, it tries to...
When an explicit transaction (started with a `BEGIN` from the client) ends, it should be rolled back. This is not currently the case when an error occurs, for example.