RavenDB-22294 Use Database.LastCompletedClusterTransactionIndex instead of `Database.RachisLogIndexNotifications.LastModifiedIndex #18407
+94
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue link
https://issues.hibernatingrhinos.com/issue/RavenDB-22294
Additional description
The issue can happen if the client makes a "load document" request when the compare-exchange is already created but before the document is created.
This also required a cluster operation (like creating an index) to be executed in the middle
To fix that we will rely on the
Database.LastCompletedClusterTransactionIndex
that is updated only by the cluster transactioninstead of the
Database.RachisLogIndexNotifications.LastModifiedIndex
that can be updated by any cluster operation.Type of change
How risky is the change?
Backward compatibility
Is it platform specific issue?
Documentation update
Documentation Required
tag.Testing by Contributor
private
)Testing by RavenDB QA team
QA Required
tag.Is there any existing behavior change of other features due to this change?
UI work
Studio Required
tag.