These are chat archives for atomix/atomix

Sep 2017
Sep 22 2017 06:27
Hi, i posted a question in the google group, but it seems a little quite there, so thought to try it this way :)
I was wondering how to recover from a session expired state, more details can be found:!topic/atomixio/qcXjlHVlAbM
Bruno Costa
Sep 22 2017 08:33
Iā€™m trying to find information about partition, where can I find it?
Jordan Halterman
Sep 22 2017 20:29
@BrunoMVPCosta Partitioning in Atomix is going to be implemented in the 2.1 release. The partitioning and partitioned primitives are just now being migrated into the Atomix repo. But they should be in master next week. (This is all work that's done, just being moved around)
Jordan Halterman
Sep 22 2017 20:37

I saw the question about session recovery. I hadn't answered because I was thinking about it. It's getting a little confusing remembering what's in what version right now.

IIRC sessions should recover themselves in 1.x, and they most certainly do in 2.x. This behavior seems to indicate that sessions are being expired prematurely. A session just represents the state of a client, so the way to handle a closed session is just by reopening a new session. If that's not happening then it's a bug.

But individual commands in 1.x may still fail even if a session is in fact reopened. This was an intentional decision because linearizability can only be guaranteed within the context of a session. So, we wanted to bubble up exceptions for operations that failed due to an expired session to force the user to handle the loss of consistency. So, it may just be that the operation needs to be retried (which is what we did in ONOS before Atomix 2).

That said, the session certainly shouldn't have been expired, and that could be a bug that's fixed in 2.x. Atomix 2.x totally refactored sessions to make them more efficient, and retries are now a configuration option of sessions.

@lburgazzoli There's no documentation for 2.x. That's on my todo list probably for next month.
Gitter is not showing me notifications again šŸ™
I was actually asked specifically for documentation by our engineering director, so should happen soon :-)