refactor(state): share Shields deadline recovery decisions - #10351
Conversation
Signed-off-by: Ho Lim <subhoya@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughThe change centralizes Shields deadline-recovery decisions for synchronous and asynchronous lifecycle-lock flows. Acquisition, publication, owner recovery, containment retries, and fence execution now revalidate timer authority. Tests cover authority rotation and ambiguous publication failures. ChangesDeadline recovery
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to This refactor centralizes Shields deadline-recovery decisions while preserving executor behavior, and no actionable merge-blocking risk remains after normal checks and review. Sequence Diagram(s)sequenceDiagram
participant DeadlineFence
participant RecoveryDecision
participant LockGenerations
participant ProtectedOperation
DeadlineFence->>RecoveryDecision: validate deadline authority
RecoveryDecision->>LockGenerations: inspect owner and generation state
LockGenerations-->>RecoveryDecision: recovery outcome
RecoveryDecision-->>DeadlineFence: proceed, wait, contain, resume, or refuse
DeadlineFence->>ProtectedOperation: invoke after accepted authority
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Linked Issues checkExplanation The changes implement the shared deadline-recovery decision model for synchronous and asynchronous acquisition, protected-path clearing, authority validation, publication, recovery, and generation cleanup. The added tests cover the required authority drift, reentrancy, containment, publication failure, and recovery cases for issue Full details: Out of Scope Changes checkExplanation The changes remain within issue
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
✨ Thanks for the refactor. This consolidates deadline recovery decisions into a pure decision model with fault-injection tests — ready for maintainer review. Related open issues: |
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
|
PR Review Advisor finished for commit |
Summary
Shields deadline recovery previously repeated security decisions across synchronous and asynchronous executors. This change routes committed containment, owner recovery, reentrancy, generation resumption, and takeover authority through one pure decision model while preserving separate I/O, waiting, and callback behavior. Fault-injection tests also prove that authority rotation cannot strand an exact deadline or ambiguously published main generation.
Related Issue
Closes #9959.
Impact and Mechanism
Changes
Type of Change
Quality Gates
DGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailablenpm run validate:prpassed after refreshing current main.npm run docsbuilds without warnings (doc changes only)Signed-off-by: Ho Lim subhoya@gmail.com
Signed-off-by: Apurv Kumaria akumaria@nvidia.com
Summary by CodeRabbit