Skip to content

HydraCache 0.29.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 16:06
· 1431 commits to main since this release

HydraCache 0.29.0

Status: published.

0.29.0 focuses on hot remote cache pressure. The release keeps owner members
as the source of truth while giving read-through clients a bounded, observable
near-cache policy for values fetched from owners.

Highlights

  • Added HotRemoteCachePolicy to hydracache-cluster-transport-axum.
  • PeerFetchReadThrough can now apply a remote-entry TTL and max tracked entry
    count when hydrating owner values locally.
  • Added hot_remote_diagnostics() for tracked remote entries, skipped
    hydrations, and pressure evictions.
  • Proved key/tag invalidation removes remote hydrated copies and bounded
    capacity evicts older remote keys.
  • Extended sandbox/OpenAPI reports, README, testing docs, and rustdoc examples.

API Shape

use std::time::Duration;

use hydracache::HydraCache;
use hydracache_cluster_transport_axum::{
    HotRemoteCachePolicy, PeerFetchReadThrough,
};

let near_cache = HydraCache::local().build();
let read_through = PeerFetchReadThrough::new(near_cache)
    .hot_remote_policy(
        HotRemoteCachePolicy::new()
            .ttl(Duration::from_secs(5))
            .max_entries(1_000),
    );

let diagnostics = read_through.hot_remote_diagnostics();
assert!(diagnostics.enabled);

Use plain peer fetch when the owner should only return already-cached bytes,
read-through hydration when clients/members should keep a bounded near-cache
copy, and owner-load read-through when the owner may execute a named loader on
miss.

Validation

Focused checks:

cargo test -p hydracache-cluster-transport-axum --locked hot_remote
cargo test -p hydracache-cluster-transport-axum --locked read_through
cargo test -p hydracache-sandbox --lib --locked swagger_api_exercises_library_features_and_reports
cargo test --doc -p hydracache-cluster-transport-axum --locked

Full release gate passed:

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

See
the 0.29.0 plan
for the implementation checklist.

Published Crates

  • hydracache-core 0.29.0
  • hydracache-macros 0.29.0
  • hydracache 0.29.0
  • hydracache-cluster-chitchat 0.29.0
  • hydracache-cluster-raft 0.29.0
  • hydracache-cluster 0.29.0
  • hydracache-cluster-transport-axum 0.29.0
  • hydracache-observability 0.29.0
  • hydracache-actuator-axum 0.29.0
  • hydracache-db 0.29.0
  • hydracache-sqlx 0.29.0