HydraCache 0.40.0
HydraCache 0.40.0
0.40.0 raises the optional cluster surface from staging-ready to a
controlled internal production pilot for small, fixed 2-5 member topologies
behind a trusted network or service mesh.
This is still not a full distributed data grid. The release intentionally does
not add value replication, backup owners, durable multi-node Raft, distributed
transactions, TLS termination, certificate management, or split-brain
auto-merge.
Highlights
- New
ClusterPilotReadinessboolean gate with explicit topology, lifecycle,
diagnostics, wire, transport, and committed-topology checks. - New
TransportPosturewith loudAUTH MISSINGhighlight when no HydraCache
auth and no declared external mesh/mTLS boundary are configured. - New
ClusterPilotReportaggregating readiness, transport posture,
invalidation counters, owner-load/remote-fetch/hot-cache counters, barrier
timeouts, near-cache repair counters, lifecycle counters, epoch, generation,
and ownership stamp. - Quorum/read-after-write barrier support via
WriteBarrierTokenand
HydraCache::read_after_write, including timeout fallback that does not
serve known-stale local data. - Property coverage for restart/rejoin/generation safety.
- Partition-table
stamp,TopologyFence,RoutingMode,PartitionId,
replica/quorum config validation, and early near-cache repair primitives. - New actuator route:
GET /actuator/hydracache/cluster/pilot-report. - New sandbox route:
POST /sandbox/cluster/pilot-report. - Ignored pilot soak gate that compiles and can be run on demand.
Changes
- Add
HydraCache::cluster_pilot_readiness,
HydraCache::cluster_pilot_report,HydraCache::transport_posture,
HydraCache::routing_mode, andHydraCache::cluster_topology_fence. - Add builder knobs:
transport_auth_configured,strict_wire_compatibility,
declare_mesh_boundary,routing_mode, andread_through_enabled. - Add explicit counters for barrier timeouts, near-cache conservative
invalidations, lifecycle stops, and lifecycle restarts. - Add
ClusterCacheCountersas the groupcache-style owner-load /
remote-fetch / hot-cache split for pilot dashboards. - Add
RaftMetadataCommand::CommitTopologyand a minimal in-memory
RaftStyleMetadataControlPlane::commit_topologyhelper. - Add
MetaDataContainerandNearCacheRepairActionfor early UUID-reset and
sequence-gap near-cache repair. - Add
partition_for_key,PartitionId,validate_replica_config, and
ClusterReplicaConfigError. - Change
ConsistencyMode::Quorumfrom unsupported fail-closed behavior to a
wait/timeout consistency mode.ConsistencyMode::Leaderremains
fail-closed and unsupported in this release. - Extend
hydracache-observabilityandhydracache-actuator-axumwith pilot
report aggregation and JSON snapshot coverage. - Update sandbox OpenAPI and route tests for the pilot report.
- Bump the workspace crates to
0.40.0.
Verification
This release should pass:
cargo fmt --all -- --checkcargo check --workspace --all-targets --lockedcargo test --workspace --all-targets --lockedcargo test --doc --workspace --lockedRUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps --lockedcargo test -p hydracache --test cluster_pilot_readiness --lockedcargo test -p hydracache --test cluster_restart_rejoin_property --lockedcargo test -p hydracache --test cluster_quorum_barrier --lockedcargo test -p hydracache --test cluster_counters_partition --lockedcargo test -p hydracache --test cluster_pilot_observability --lockedcargo test -p hydracache --test cluster_ownership_stamp --lockedcargo test -p hydracache --test cluster_routing_mode --lockedcargo test -p hydracache --test cluster_near_cache_repair --lockedcargo test -p hydracache --test cluster_topology_fence --lockedcargo test -p hydracache --test cluster_rollback_bypass --lockedcargo test -p hydracache-actuator-axum --test cluster_pilot_report_snapshot --lockedcargo test -p hydracache-sandbox --test cluster_staging_routes --locked
Ignored pilot soak remains manual:
cargo test -p hydracache --test cluster_pilot_soak --locked -- --ignored --nocapturePilot Scope
The supported pilot topology is deliberately narrow:
- 2-5 fixed members;
- application near-caches as clients;
- deterministic rendezvous ownership with one owner;
- explicit invalidation propagation;
- owner peer-fetch/read-through for encoded cached bytes;
- optional owner-load only for named registered loaders;
- strict current wire compatibility;
- HydraCache transport auth or an explicitly declared external mesh/mTLS
boundary.
Rollback remains simple: disable cluster read-through, use local-only caches,
invalidate local entries during rollback, and ignore peer-fetch/owner-load
routes until the cluster surface is healthy again.