-
Notifications
You must be signed in to change notification settings - Fork 388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OAK-10812: DocumentNodeStore#diffManyChildren(...) may produce incorr… #1465
base: trunk
Are you sure you want to change the base?
Conversation
…ect results in readonly mode Added test case.
Preliminary test. Please review if it makes any sense. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for adding the test. It indeed highlights the problem in Utils.getMinTimestampForDiff
ie in `RevisionVector.difference when in read-only mode.
Perhaps we can migrate it to use the virtual clock before the test gets unignored.
Potential fix: if in DocumentNodeStore#getMinExternalRevisions() we replace getClusterId() - which is 0 in readonly mode - with the configured cluster id, the problem disappears. |
I'm wondering if that wouldn't introduce a regression elsewhere .. there must have been a reason this was set to 0 for read-only? |
@stefan-egli , I understand that it's not supposed to collide with a simultaneously running read-write node. The proposal is not to change the cluster id, but to add an additional property to store the configured cluster id. |
…ect results in readonly mode Added potential fix proposal.
(maybe we could add a test case to reproduce real being different than configured id - and then the result might be two additional properties would be required, real and configured..) |
…ect results in readonly mode Fix proposal.
@stefan-egli , see ticket for an explanation. |
…ect results in readonly mode
Added test case.