summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python/src/Python/thread_nt.h
diff options
context:
space:
mode:
authorDaniil Cherednik <[email protected]>2026-06-24 14:17:12 +0200
committerGitHub <[email protected]>2026-06-24 14:17:12 +0200
commit33285fba4c4d5d48b671377a0a2c99e3b568e3dd (patch)
tree1e05f8ca86788ff0951251926de214f74ec502cd /contrib/tools/python/src/Python/thread_nt.h
parentd9d835a0fc89ce514b88eb18ef5cbdce51a1f2b2 (diff)
[ICRDMA] Disable graceful reconnect for RDMA sessions NBYDB-2307 (#44297)
Graceful reconnect keeps the same interconnect session instance and asks the peer to continue from the last confirmed packet. That is fine for the TCP/XDC path where replay is based on serialized bytes and the receive context can consume the catch buffer idempotently. RDMA adds transport state that is not stable across such continuation. A reconnect creates a new RDMA QP on the receiving side, while the peer and replayed XDC stream may still describe RDMA_READ commands, rkeys, and buffer cursors from the previous connection. If a reconnect happens after RDMA sections were parsed or after RDMA_READ scheduling advanced the receive-side cursor, replaying the old bytes can bind the event to a stale or unpaired QP, corrupt the reconstructed event, or leave delivery stuck. Make RDMA sessions use a full reconnect instead of graceful continuation. Local reconnect now starts an initial handshake when the current session has RDMA state, which replaces the old session and drops its pending RDMA receive/send state. Incoming continuation requests that match an existing RDMA session are rejected and the local RDMA session is terminated so that the peer also falls back to a fresh session. Add regression coverage for partial XDC/RDMA replay states and for simultaneous RDMA reconnects. The TCP XDC baseline still verifies graceful replay delivery. RDMA variants verify that the old receive session is replaced and no corrupted event is delivered. Disable RDMA in fat unstable-connection tests that assert legacy TCP/XDC unsure-undelivered ordering, because RDMA now intentionally performs a full session break instead of preserving graceful reconnect semantics.
Diffstat (limited to 'contrib/tools/python/src/Python/thread_nt.h')
0 files changed, 0 insertions, 0 deletions