Skip to content

Releases: dingodb/DingoCache

dfkv v2.17.0

Choose a tag to compare

@github-actions github-actions released this 12 Aug 04:12

What's Changed

  • fix(hicache): accept no-layout logical pools on the v2 registration path by @Wine93 in #317
  • fix(rdma): retain configured rails across degraded boot by @ketor in #320
  • chore: bump version to 2.17.0 by @ketor in #321

Full Changelog: v2.16.0...v2.17.0

v2.16.0

Choose a tag to compare

@ketor ketor released this 11 Aug 21:57

What's Changed

  • perf(vllm): pipeline external KV cache transfers by @ketor in #318
  • chore: bump version to 2.16.0 by @ketor in #319

Full Changelog: v2.15.1...v2.16.0

v2.15.1 — HiCache scheduler and resource metrics

Choose a tag to compare

@ketor ketor released this 11 Aug 06:49

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

Choose a tag to compare

@ketor ketor released this 11 Aug 04:47

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 topology with 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

Choose a tag to compare

@ketor ketor released this 11 Aug 03:56

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_mds has no dynamic libstdc++ dependency.

v2.13.0 — bounded idle RDMA pools

Choose a tag to compare

@ketor ketor released this 10 Aug 19:34

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_MAX value 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_MAX remains 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

Choose a tag to compare

@github-actions github-actions released this 10 Aug 18:32

What's Changed

  • release: bump version to 2.12.3 by @ketor in #301

Full Changelog: v2.12.2...v2.12.3

v2.12.1 - write-back defaults to RAM-ACK

Choose a tag to compare

@ketor ketor released this 10 Aug 17:00

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

Choose a tag to compare

@ketor ketor released this 10 Aug 16:26

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

Choose a tag to compare

@github-actions github-actions released this 10 Aug 11:47

What's Changed

  • fix(release): recover tag publishing on no-HCA runners by @ketor in #288

Full Changelog: v2.11.0...v2.11.1