HydraCache 0.41.0
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
MemStoragecoupling with aRaftLogStoreseam 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
ReplicatedSlottombstones with tombstone-wins-on-tie merge
semantics,TombstoneBudget, andTombstoneTracker. - 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 PLAINTEXTreadiness 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
HydraCachemethods:
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()andHydraCache::member().start()validate
the replication config before admission.hydracache-cluster-raftnow hasRaftLogStoreand
InMemoryRaftLogStore; the runtime Ready loop persists snapshot, entries,
and hard state through that seam.hydracache-cluster-transport-axumhas an explicit replication gate test for
strict wire-version rejection and current-version encoded-byte roundtrip.hydracache-observabilityhas 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 cardinalityFull 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 --lockedScope 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.