v2.14.0 — bounded RDMA retrieval and resource governance
DingoCache 2.14.0
RDMA retrieval scheduling
GET, GET-Auto, scatter/gather GET, existence checks, and BatchGet now share a process-wide bounded scheduler. Eight workers replace caller-participating helper execution, enforce round-robin progress across concurrent batches, and bound active read shards without adding per-request threads.
RDMA resource governance
Client RDMA endpoints now use process-wide QP, work-request, registered-memory, and endpoint budgets. Cold idle endpoints are evicted under pressure; connection retirement has an explicit active/idle/retire/drain state machine so live operations cannot be reclaimed.
Completion ownership
Read shards use explicit operation states so exactly one worker owns completion polling. Cancellation and terminal state transitions cannot double-complete an operation.
Pooled endpoint correctness
Fixes an idle-pool regression found during 0064 hardware validation: an activated endpoint was removed from the pool without being returned to the caller, leaking its endpoint budget and forcing reconnects. The fixed cold C32 workload completed in 9.33s versus 36.13s with the defect.
0064 validation
On the same GLM-5.2 C32/25K retrieval workload, the final candidate completed cold runs in 9.33s versus 9.64s baseline, and warm runs in 5.00s versus 5.61s baseline. Eight read workers remain the smallest non-regressing configuration tested.
Compatibility
No wire-protocol or public API compatibility change. New resource controls have bounded defaults and may be overridden with documented DFKV_RDMA_*_BUDGET, endpoint-cache, and read-worker settings.
Assets
dfkv-2.14.0-linux-x86_64.tar.gz- SHA256:
e8378fc3e08d0d3b3a9cd8851693b97dff5f8c7bb8b9c0aca7bed3fe0b95bb0e - Built by main CI run
31456727937; all eight jobs passed. - Portable binaries statically link libstdc++; verified
dfkv_mdshas no dynamic libstdc++ dependency.