Releases: dingodb/DingoCache
Release list
dfkv v2.17.0
v2.16.0
v2.15.1 — HiCache scheduler and resource metrics
HiCache / SGLang metric visibility
The native client already exported v2.14 read-scheduler and process-wide RDMA resource metrics, but the connector allowlist silently discarded them. HiCache and SGLang /metrics now expose:
- pending batches, pending shards, and active shards
- cumulative scheduler queue delay and fairness yields
- endpoint, QP, WR-slot, and registered-slot-byte budgets with bounded
kind=used|limit - resource-budget admission timeouts
- endpoint-cache hits, misses, and pressure evictions
No C++ data-path behavior changed.
Compatibility
This patch only extends the Python connector metric allowlist. Unknown native metrics remain ignored and all labels remain fixed-cardinality.
Verification
PR #315 and release PR #316 passed all 8 CI jobs. Post-merge main CI run 31466216686 passed all 8 jobs. The release artifact reports 2.15.1 for dfkv_server, dfkvctl, dfkv_mds, and libdfkv.so. SHA256: a62dfe8c6e035d1229bc82cdd9003c9b34ee4bd0d8c588a11ab4d667ac279043.
v2.15.0
IB-health-aware placement
- Monitors every configured server IB rail through sysfs before each MDS heartbeat.
- Removes a server from the placement ring immediately when any configured rail is unhealthy.
- Restores ring eligibility after three consecutive healthy samples.
- Keeps degraded members visible in
dfkvctl topologywith per-device port and physical-state detail. - Adds MDS gauges for ring-eligible and degraded nodes.
Compatibility
The membership health payload is append-only; older decoders ignore the extension. Existing clusters remain eligible when health is absent.
Verification
Main CI run 31459337170 passed all 8 jobs. The release tarball reports 2.15.0 for dfkv_server, dfkv_mds, and libdfkv.so. SHA256: 3fc27b522ced8d6645cd93a468508fc7fa247a914b29f445bd1796f895a344c8.
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.
v2.13.0 — bounded idle RDMA pools
Highlights
- Bounds the default idle RDMA connection pool at 16 QPs per node and lane instead of 256. This retains 2x headroom for the measured SGLang C32 fan-out while preventing transient thread spikes from retaining enough idle QPs to consume the server shared receive segment.
- Records the resolved
DFKV_RDMA_POOL_MAXvalue in the startup configuration dump. Workloads that prove connection churn can still raise the value explicitly. - Aligns the dfkv-common, LMCache, and vLLM connector package versions and dependency pins with 2.13.0.
Compatibility
- No protocol or data-format change.
DFKV_RDMA_POOL_MAXremains configurable and accepts the same values; only its default changes from 256 to 16.- Portable artifact is statically linked with libstdc++; observed GLIBC floor is 2.34.
CI
All main-branch CI jobs passed: GCC, Clang, ThreadSanitizer, RDMA compile, RDMA datapath workflow, runtime deployment smoke, connector wheels, and portable static artifacts.
Asset
dfkv-2.13.0-linux-x86_64.tar.gz- SHA256:
fa8fdfdf29c5a8d33a8478b13fd3b8d3215e939513a9ce0805fed7dc4d5f1951
dfkv v2.12.3
v2.12.1 - write-back defaults to RAM-ACK
Write-back RAM tier now defaults to RAM-ACK when DFKV_PUT_ACK_MODE is unset. Set DFKV_PUT_ACK_MODE=disk to retain durable acknowledgement. RAM tier disabled and write-around deployments continue to use disk acknowledgement.
v2.12.0 — RAM-ACK write-back PUTs
Adds opt-in RAM-ACK semantics for write-back cache PUTs: acknowledge once a flush-pinned RAM copy is visible, apply configurable dirty-byte watermark backpressure, preserve disk/direct defaults, and expose dirty/ACK/post-ACK-failure metrics. Connector package versions are synchronized to 2.12.0. CI run 31408515097 passed all jobs. Portable artifact sha256: 6a2960c63ba6939710acf7b7c2451839a1d9349bd667836adefb8c59eadd9583.
dfkv v2.11.1
What's Changed
Full Changelog: v2.11.0...v2.11.1