Repository navigation
[Bugfix][TENT] Fail stop on terminal RDMA teardown errors - #4383
Merged
alogfans merged 1 commit intoOct 27, 2026
Merged
Conversation
feichai0017
marked this pull request as ready for review
September 29, 2026 04:42
feichai0017
requested review from
00fish0,
alogfans,
chestnut-Q,
doujiang24,
dtcccc and
staryxchen
as code owners
September 29, 2026 04:42
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.
Description
If native QP destruction or notification MR deregistration fails,
deconstruct()preserves endpoint resources for retry.disable()similarly preserves a context when its endpoint store cannot clear. Their destructors currently discard those errors and continue destroying the owners that were meant to be retained.Check both terminal cleanup results and fail-stop before member destruction if cleanup still fails. Explicit
deconstruct()/disable()callers retain the existing error-and-retry behavior. This trades a fatal process error for potentially releasing memory still owned by native resources; it does not add timeout-based reclamation or change ordinary successful teardown.Fixes #4382
Related: #2664, #4062 and #4263. This targets terminal destructor error handling, independently of CQ retirement/drain and context-acquisition failure coverage.
Module
mooncake-transfer-engine)Type of Change
How Has This Been Tested?
Based on
1ad008bc41c6de7c74e02fb1d48713309b880c0d, Linux x86_64, CPU-only Clang 20 build. The existing per-context verbs injection seam drives the real endpoint teardown and FIFO-store/context clear paths.cmake --build build --target tent_endpoint_lifecycle_test tent_rdma_transport_test --parallel 4 build/tent/tests/tent_endpoint_lifecycle_test build/tent/tests/tent_rdma_transport_test # Separate build with -fsanitize=address,undefined -fno-omit-frame-pointer ASAN_OPTIONS=detect_leaks=1:halt_on_error=1 UBSAN_OPTIONS=halt_on_error=1 \ build-asan/tent/tests/tent_endpoint_lifecycle_testChecklist
AI Assistance Disclosure
Codex inspected current main and related issues/PRs, prepared the checks and regression tests, and ran baseline/fixed/sanitizer suites. This draft is pending human line-by-line review; no human-review completion is asserted.