Fix some places of optimistic lock contract violation#754
Fix some places of optimistic lock contract violation#754laurynas-biveinis wants to merge 1 commit into
Conversation
Make sure that for node type reads, there is a lock check between the type read and acting on that type. Remove an assert that acts on the node type without a lock check.
WalkthroughThis change modifies the optimistic locking logic in the Changes
Sequence Diagram(s)sequenceDiagram
participant Client as Client
participant DB as olc_db
participant RCS as ReadCriticalSection
Client->>DB: call try_push(node)
DB->>RCS: rcs.check()
alt RCS check fails
DB-->>Client: return false
else RCS check passes
DB-->>Client: proceed with push
end
Possibly related PRs
Poem
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms (10)
🔇 Additional comments (2)
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Make sure that for node type reads, there is a lock check between the type read
and acting on that type. Remove an assert that acts on the node type without a
lock check.
Summary by CodeRabbit