These are chat archives for atomix/atomix

27th
Oct 2016
Jordan Halterman
@kuujo
Oct 27 2016 08:57
Hey @dmvk I've been on vacation since Friday driving all over the place, visiting family, etc, but Jonathan filled me in. Want to chat a bit in the morning? I'm on California time.
@mstennie the reason the state machine is not exposed in the server API is because the only way it can be safely manipulated or even read is through the log. Even if you only read state machine state, it's not safe (consistent) to do so outside of the state machine since the state machine's state will usually still be logically behind what you would read by submitting a read to the server. This is why I'm Atomix, the AtomixReplica (which both stores state and provides local access to state) behaves like an in-process client. It doesn't make direct calls on the state machine to read state, but it actually submits an in-process request to force reads and writes to go through the Raft algorithm for consistency. Plus, exposing the state machine to users of the server could make it tempting to modify state machine state that way which would be very unsafe.