Skip to content

HydraCache 0.41.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 15:58
· 1311 commits to main since this release

HydraCache 0.41.0

0.41.0 defines the distributed cache grid roadmap and ships the first safe
implementation slice. This is intentionally not a full production data-grid
claim: the release adds correctness primitives, release gates, and diagnostics
needed before future grid hardening.

Highlights

  • Finalized five cluster ADRs and linked them from docs/cluster/readiness.md.
  • Replaced direct raft MemStorage coupling with a RaftLogStore seam and
    InMemoryRaftLogStore.
  • Added deterministic primary + backup placement through
    ClusterReplicationStrategy, Replicas, EffectiveReplicationMap, and
    ReplicationConfig.
  • Added rebalance plan-as-data primitives: RebalancePlan, RebalanceTask, and
    RebalanceTaskAck.
  • Added versioned ReplicatedSlot tombstones with tombstone-wins-on-tie merge
    semantics, TombstoneBudget, and TombstoneTracker.
  • Added opt-in value-replication builder knobs with mandatory byte-cap
    validation for client/member startup.
  • Added replicated-value security posture:
    Replication::LocalOnly, ReplicationKeyProvider, redaction hook, and loud
    REPLICATED VALUES PLAINTEXT readiness highlight.
  • Added near-cache RepairingTask, backup promotion, per-replica
    anti-entropy, hot-copy invalidation directory, and aggregate grid counters.
  • Added release-gate tests for placement, rebalance, tombstones, replication,
    data protection, near-cache repair, failover, anti-entropy, hot-cache
    invalidation, transport wire safety, raft persistence seam, ADR presence, and
    metric cardinality.

Changes

  • New module-level grid API exported from hydracache:
    ClusterReplicationStrategy, Replicas, EffectiveReplicationMap,
    ReplicationConfig, ReplicatedSlot, TombstoneTracker,
    PartitionReplicaVersions, HotCacheDirectory, and related helpers.
  • New HydraCache methods:
    cluster_grid_counters, replication_config,
    replicated_value_security_posture, and record/set helpers for replication,
    under-replication, fence rejection, and tombstone repair-debt counters.
  • New builder knobs:
    replicate_values, replication_factor, read_quorum, write_quorum,
    sync_backups, async_backups, max_replicated_entry_bytes,
    acknowledge_plaintext_replicated_values, and
    replicated_values_encrypted.
  • HydraCache::client().connect() and HydraCache::member().start() validate
    the replication config before admission.
  • hydracache-cluster-raft now has RaftLogStore and
    InMemoryRaftLogStore; the runtime Ready loop persists snapshot, entries,
    and hard state through that seam.
  • hydracache-cluster-transport-axum has an explicit replication gate test for
    strict wire-version rejection and current-version encoded-byte roundtrip.
  • hydracache-observability has cardinality tests ensuring grid metrics remain
    aggregate-only and high-cardinality detail stays in diagnostics snapshots.
  • The workspace version is bumped to 0.41.0.

Verification

Focused gates:

cargo test -p hydracache --locked adr_presence
cargo test -p hydracache --locked topology_fence
cargo test -p hydracache --locked placement
cargo test -p hydracache --locked rebalance
cargo test -p hydracache --locked tombstone_replication
cargo test -p hydracache --locked replication
cargo test -p hydracache --locked replication_data_protection
cargo test -p hydracache --locked near_cache_repair
cargo test -p hydracache --locked failover
cargo test -p hydracache --locked anti_entropy
cargo test -p hydracache --locked hot_cache_invalidation
cargo test -p hydracache --locked fault_injector_selftest
cargo test -p hydracache-cluster-transport-axum --locked replication
cargo test -p hydracache-cluster-raft --locked persistent_log
cargo test -p hydracache-cluster-raft --locked --features sled-log-store persistent_log
cargo test -p hydracache-observability --locked cardinality

Full gates:

cargo fmt --all -- --check
cargo check --workspace --all-targets --locked
cargo test --workspace --all-targets --locked
cargo test --workspace --locked -- --ignored
cargo test --doc --workspace --locked
$env:RUSTDOCFLAGS = "-D warnings"; cargo doc --workspace --no-deps --locked

Scope Boundary

The release still does not provide full production distributed-cache-grid
readiness. In particular, it does not add a production multi-node Raft storage
engine, durable replicated values that survive restart, transparent invalidation
from arbitrary DB writes, split-brain auto-merge, distributed transactions, TLS
termination, certificate management, or KMS integration.