Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/bounded-daemon-maintenance-shutdown.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/consolidation-maintenance-telemetry.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/daemon-status-headline.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/exact-root-inventory-fast-path.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/prove-daemon-and-store-observation.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/session-correlation-presence-fast-path.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/v2-foundation-crates.md

This file was deleted.

9 changes: 3 additions & 6 deletions .github/workflows/hawk.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
# Hawk visibility lint. Explicit optional channel, not PR tip evidence.
#
# Retrigger note: keep this workflow off pull_request CI until Hawk is clean.
#
# Kept off pull_request CI on purpose: tip green must not depend on
# continue-on-error or a forged dashboard app-dist seed. Dispatch or wait for
# the weekly schedule until the Hawk backlog is clean enough to promote into
# required CI without softening -D warnings.
# Unarchive retrigger: keep Hawk optional until -D warnings is clean.
# continue-on-error or a forged dashboard app-dist seed. Dispatch it on demand
# until the Hawk backlog is clean enough to promote into required CI without
# softening -D warnings.
name: Hawk

# On demand only; see distribution-acceptance.yml for why nothing runs on a
Expand Down
15 changes: 11 additions & 4 deletions crates/tracedecay-host-admission/src/broker_group_commit_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ fn open_broker(dir: &std::path::Path) -> Arc<HostAdmissionBroker> {
Arc::new(HostAdmissionBroker::new(runtime))
}

// The held runtime guard is the in-flight batch the admissions queue behind.
#[allow(clippy::await_holding_lock)]
#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
async fn admissions_queued_behind_a_batch_share_the_next_durable_batch() {
let spool = tempfile::tempdir().unwrap();
Expand Down Expand Up @@ -46,9 +48,9 @@ async fn admissions_queued_behind_a_batch_share_the_next_durable_batch() {
}
seqs.sort_unstable();
assert_eq!(seqs, (2..=9).collect::<Vec<u64>>());
// One intent publish (file and directory) and one frame sync for all
// eight; one-at-a-time appends paid three metadata publishes each.
assert_eq!(barriers.syncs(), 3);
// One intent publish (file, plus directory on Unix) and one frame sync
// for all eight; one-at-a-time appends paid three metadata publishes each.
assert_eq!(barriers.syncs(), 2 + u64::from(cfg!(unix)));
}

#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
Expand Down Expand Up @@ -103,15 +105,20 @@ async fn a_commit_waits_on_no_barrier_and_the_next_batch_publishes_its_watermark
let barriers = sync_latency::inject(spool.path(), Duration::ZERO);
assert_eq!(commit_leased(&broker).await, first.seq);
assert_eq!(barriers.syncs(), 0);
drop(barriers);
// The daemon dies before any later publish: the commit replays once more.
drop(broker);

// Reopening publishes once to clear the first batch's reconciled append
// intent; count only the barriers after it.
let broker = open_broker(spool.path());
assert_eq!(broker.pending_replay_count().await.unwrap(), 1);
let barriers = sync_latency::inject(spool.path(), Duration::ZERO);
assert_eq!(commit_leased(&broker).await, first.seq);
assert_eq!(barriers.syncs(), 0);
let second = broker.admit("source", b"second").await.unwrap();
// The second batch's intent publish and frame sync carry the watermark.
assert_eq!(barriers.syncs(), 3);
assert_eq!(barriers.syncs(), 2 + u64::from(cfg!(unix)));
drop(broker);

let (mut runtime, report) =
Expand Down
3 changes: 3 additions & 0 deletions crates/tracedecay-host-admission/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1472,6 +1472,9 @@ fn classify_error(error: &ObservationApplicationError) -> HostAdmissionOutcome {
}
}

#[cfg(test)]
#[path = "broker_group_commit_test.rs"]
mod broker_group_commit_test;
#[cfg(test)]
#[path = "host_admission_batch_test.rs"]
mod host_admission_batch_test;
Expand Down
Loading
Loading