RDBC-1048 Fix silent data corruption bugs in Document Session#285
Open
redknightlois wants to merge 4 commits intoravendb:v7.2from
Open
RDBC-1048 Fix silent data corruption bugs in Document Session#285redknightlois wants to merge 4 commits intoravendb:v7.2from
redknightlois wants to merge 4 commits intoravendb:v7.2from
Conversation
…d batch patch status handling Cluster transaction validation accepted all command types silently, allowing unsupported operations (attachments, counters) through without error. Compare exchange double-create in the same session went undetected, sending conflicting commands to the server. Batch patch status handling treated every status as CREATED/PATCHED, causing unnecessary document reprocessing after SaveChanges.
…nges Setting explicit replication timeouts, throw-on-timeout behavior, or specific index names through the WaitFor builders had no effect. The user's values were written to wrong fields (copy-paste from adjacent builders), while the actual fields stayed None and got filled with convention defaults. A 5-second explicit timeout became 15 seconds. Calling with no arguments crashed due to a stale None reference.
…agating cluster transaction index When a SaveChanges batch contained a time series operation followed by other operations (PUT, PATCH), all results after the time series entry were silently skipped. Documents modified later in the same batch did not get their metadata updated, leaving change vectors and timestamps stale. Additionally, the cluster transaction index was never propagated back to the document store after SaveChanges, breaking read-your-writes consistency across sessions in cluster deployments.
7382878 to
a39d405
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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/RDBC-1048/Silent-data-corruption-bugs-in-Python-client-Document-Session
Additional description
Fix 9 bugs where the client produces wrong results without raising errors:
oroperator misuse (if x == A or B:is always True)orpattern)orpattern)breakinstead ofcontinue)update_session_after_save_changeswas a no-op with a TODO comment (cluster TX index not propagated)Type of change
How risky is the change?
Backward compatibility
Is it platform specific issue?
Documentation update
Documentation Requiredtag.Testing by Contributor
private)Testing by RavenDB QA team
QA Requiredtag.
Is there any existing behavior change of other features due to this change?
UI work
Studio Requiredtag.