These are chat archives for atomix/atomix
@pawel-kaminski-krk That's right, currently state has to fit in memory but state changes are stored on disk.
The partition module is what does sharding. Each partition is a Raft cluster with its own leader, so there are multiple leaders within the cluster with each distinct state change going through a single leader. For example,
Atomix 2.1 is nearing completion now. All the features - cluster management, messaging, events, primitives, partitioning, REST API, and CLI - have all been just about completed. One last change to allow custom primitives is on its way, then there will be some sort of release in the near future.
I updated the README with some information and examples for all of the features. The documentation is pretty useless right now, but it is just intended to give an overview of all the work that has gone into Atomix 2. The website will be updated with all new documentation over the next few weeks, and I'll be making some screencasts using the CLI to demonstrate features as well.
join()ed inside another future's callback, that won't prevent any other future's from being completed and won't cause a deadlock. It will just change the order/thread on which futures are completed. But arbitrary blocking inside a future callback could cause Atomix to avoid completing other futures until that callback is unblocked unless is
*Async. It always tries to complete futures for a given primitive in the order in which they were created.