-
Notifications
You must be signed in to change notification settings - Fork 1
Feat client updates #28
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
Conversation
Caution Review failedThe pull request is closed. WalkthroughUpdates CI workflows and Docker config, revises composer scripts and dependency ranges, upgrades Mongo auth to SCRAM-SHA-256, introduces a new exception hierarchy, and significantly extends Client with sessions, transactions, concerns, and causal consistency. Adds extensive transaction tests and minor test adjustments. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Test as Test/Caller
participant Client as Client
participant Server as MongoDB
Test->>Client: startSession(options)
Client->>Server: send { startSession }
Server-->>Client: { id, clusterTime }
Client->>Client: track session, cluster/operation time
Test->>Client: withTransaction(session, callback, opts)
Client->>Server: send { startTransaction } (session, writeConcern, readConcern?)
alt callback succeeds
Client->>Server: send CRUD ops (session, txnNumber)
Client->>Server: send { commitTransaction }
Server-->>Client: { ok } or UnknownCommitResult
alt UnknownCommitResult
Client->>Server: retry commit
end
else transient error
Client->>Client: detect TransientTransactionError
Client->>Server: abort or retry whole withTransaction
end
Client-->>Test: result
note over Client: Updates causal consistency (operationTime, clusterTime) from replies
sequenceDiagram
autonumber
participant Client as Client
participant Server as MongoDB
Client->>Server: auth SASLStart (SCRAM-SHA-256)
Server-->>Client: challenge
Client->>Server: SASLContinue (generateResponse with sha256/hmac-sha256)
Server-->>Client: success
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60–90 minutes Possibly related PRs
Poem
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (10)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🧪 Early access (Sonnet 4.5): enabledWe are currently testing the Sonnet 4.5 model, which is expected to improve code review quality. However, this model may lead to increased noise levels in the review comments. Please disable the early access features if the noise level causes any inconvenience. Note:
Comment |
31ef90b
to
f2656f9
Compare
Summary by CodeRabbit
New Features
Tests
Chores
Style