ZOOKEEPER-3526: data inconsistency due to mistaken TRUNC caused by maxCommittedLog is much less than minCommittedLog when in readonly mode
Use common zxid between all ZooKeeperServers used within a server instance
As wished in https://github.com/apache/zookeeper/pull/1391 I've ported the fix to the master branch. After checking the CI result, it seems like it is a general problem with the CI, unrelated to this fix. Right?
@ztzg @eolivelli @anmolnar @nkalmar This is a serious bug which's related with the consistency, any of your guys have a cycle to review it? @Hinterwaeldlers
I hope someone can check this Pull-Request
@eolivelli you already reviewed the patch for 3.6, are we good to merge this?
@Hinterwaeldlers. Very sorry for our late, the inconsistency issue always has the highest priority. As you see, our reviewer has noticed this PR, I will nudge this PR
Any progress within the review progress so far? Thanks in advance
Oops, I'm looking
@Hinterwaeldlers
- The unit test did not work anymore, please use the
Junit5jupiter.api - Please reopen your origin PRs again branch-3.5, branch-3.6, branch-3.7 (Notice
master and branch-3.7 use
Junit5, branch-3.5 and branch-3.6 useJunit4)
Sry for the delay
Currently I am not able to reproduce the bug, as connecting within the RO seems to be impossible in 3.7.1 and 3.8 (using the related docker images). In addition the unit test passes with and without the patch.
While digging around I've found https://github.com/apache/zookeeper/commit/c47ef905e077184bc5b7f555a3e2dfeb6dc046e1 which could fix the problem, too as no session ID is generated anymore.
Related to the RO problem I will create a new bug.
Related to this patch: I think adding only the unit test might be the right way to go, assuming the commit above does fix the zxid usage. I will prepare the PR accordingly
After I've done a couple of tests and code reading, it seems having the zxid set to the valid value seems still a good thing -> Test + Code adapted accordingly