Skip to content

fix(rdma): isolate idle endpoints before draining - #309

Merged
ketor merged 1 commit into
dingodb:mainfrom
ketor:feat/rdma-retire-drain
Aug 11, 2026
Merged

fix(rdma): isolate idle endpoints before draining#309
ketor merged 1 commit into
dingodb:mainfrom
ketor:feat/rdma-retire-drain

Conversation

@ketor

@ketor ketor commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Change

  • add explicit ACTIVE/IDLE/RETIRE_REQUESTED/DRAINING lifecycle
  • pooled Acquire atomically claims IDLE before CQ use
  • Release publishes IDLE only after WR completion and MR generation refresh
  • SIEVE eviction atomically isolates IDLE before removing it from cache
  • keepalive claims IDLE as ACTIVE before posting
  • every failure/destructor path enters DRAINING before endpoint destruction and budget return

Invariant

No endpoint accepts a new operation or keepalive after RETIRE_REQUESTED. Resource credit returns only after RcEndpoint destruction.

Verification

  • lifecycle activation-vs-retire race test
  • retired endpoint cannot reactivate
  • active failure drains directly
  • RdmaSafety filtered tests

No environment is changed by this PR.

@ketor
ketor added this pull request to the merge queue Aug 11, 2026
Merged via the queue into dingodb:main with commit 4016bb8 Aug 11, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant