These are chat archives for atomix/atomix

19th
May 2017
James Watson
@JPWatson
May 19 2017 14:32
When a node joins an existing cluster and a session has been unregistered so the original registration has been tidied from the log, all the commits from that session are ignored. Is this expected?
James Watson
@JPWatson
May 19 2017 14:37
all of the commits are released but with CompactionMode = SNAPSHOT
Jordan Halterman
@kuujo
May 19 2017 20:52
Hmm... it depends on whether a snapshot has been taken. If the CompactionMode is SNAPSHOT, essentially all entries prior to the last snapshot should be ignored since their state has presumably been stored in the snapshot, but all entries after the last snapshot should not be ignored.
Hmm actually there may be a bug here
Jordan Halterman
@kuujo
May 19 2017 21:18
Essentially, inside ServerSessionContext we do reference counting to determine when it's safe to remove session entries from the log. But the problem is, SNAPSHOT entries are released immediately, so once a session is closed it's releasing the register/unregister entries as well. Once log compaction happens and the server is restarted, SNAPSHOT entries won't be applied since there's no associated session. It's certainly possible for the register entry to be removed before a snapshot of the rest of the entries can be taken.
Jordan Halterman
@kuujo
May 19 2017 21:29
I’ll have a PR in for it shortly