Remove work-journal references from source comments
This commit is contained in:
parent
6952767503
commit
cc328237f4
8 changed files with 12 additions and 14 deletions
|
|
@ -1,5 +1,5 @@
|
|||
//! Dragonfly/Redis coordination primitives with G-A3 global slots and L-B1
|
||||
//! process-local permits; feature packages own protocol orchestration.
|
||||
//! Dragonfly/Redis coordination primitives with global slots and process-local
|
||||
//! permits; feature packages own protocol orchestration.
|
||||
|
||||
mod error;
|
||||
mod keys;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
//! IF-1 L-B1 permit accounting holds local capacity until cooperative stop or
|
||||
//! process death, independently of lease expiry.
|
||||
//! Permit accounting holds local capacity until cooperative stop or process
|
||||
//! death, independently of lease expiry.
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
-- KEYS: lease, slots, reserve. ARGV[1]=job_id.
|
||||
-- C2 expiry preserves G-A3 occupancy while a reservation remains.
|
||||
-- Lease expiry preserves slot occupancy while a reservation remains.
|
||||
local function now_ms()
|
||||
local t = redis.call('TIME')
|
||||
return (tonumber(t[1]) * 1000) + math.floor(tonumber(t[2]) / 1000)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
-- G-A3 global slots: KEYS[1]=reserve KEYS[2]=slots KEYS[3]=lease
|
||||
-- KEYS[1]=reserve KEYS[2]=slots KEYS[3]=lease
|
||||
-- ARGV[1]=worker_id ARGV[2]=ttl_ms ARGV[3]=global_limit ARGV[4]=job_id
|
||||
local function now_ms()
|
||||
local t = redis.call('TIME')
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ impl Default for StoreConfig {
|
|||
}
|
||||
}
|
||||
|
||||
/// Dragonfly/Redis substrate using IF-1 G-A3 global job slots; process-local
|
||||
/// permits live in [`crate::LocalPermitGate`].
|
||||
/// Dragonfly/Redis global job slots; process-local permits live in
|
||||
/// [`crate::LocalPermitGate`].
|
||||
#[derive(Clone)]
|
||||
pub struct CoordinationStore {
|
||||
conn: ConnectionManager,
|
||||
|
|
@ -113,7 +113,6 @@ impl CoordinationStore {
|
|||
.await
|
||||
}
|
||||
|
||||
/// Reserve under global capacity (IF-1 G-A3 + IF-4 reserve key).
|
||||
pub async fn reserve(
|
||||
&self,
|
||||
job_id: &str,
|
||||
|
|
|
|||
|
|
@ -587,7 +587,7 @@ async fn activate_without_seed_clears_foreign_progress() {
|
|||
.await
|
||||
.expect("report");
|
||||
store.release(job, &first).await.expect("release");
|
||||
// Stale progress may linger after release (IF-6).
|
||||
// Progress may outlive its lease until the next owner activates.
|
||||
assert!(store.get_progress(job).await.expect("progress").is_some());
|
||||
|
||||
store
|
||||
|
|
@ -675,8 +675,8 @@ async fn clean_terminal_and_reconstruction() {
|
|||
store.drop_job_state(&[job]).await.expect("cleanup");
|
||||
}
|
||||
|
||||
/// G-A3 rebuild after loss: wipe empties slots; re-project then re-admit rebuilds
|
||||
/// membership. PermitSafety holds across repeated wipes and concurrent admit.
|
||||
/// Re-projection and admission rebuild slot membership after coordination loss.
|
||||
/// PermitSafety holds across repeated wipes and concurrent admission.
|
||||
#[tokio::test]
|
||||
async fn repeated_loss_reconstruction_preserves_permit_safety() {
|
||||
let Some(store) = test_store("rebuild-g", 2, Duration::from_secs(10)).await else {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ use crate::error::IdentityError;
|
|||
use crate::principal::Principal;
|
||||
use crate::target::{DefaultTarget, TargetOverride, resolve_target};
|
||||
|
||||
/// Management operations governed by current authorization (architecture A-3).
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
pub enum ManagementOperation {
|
||||
List,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
//! Target storage adapter (WP-08).
|
||||
//! Target storage adapter.
|
||||
//!
|
||||
//! OpenDAL-backed create-only attempt objects, multipart recovery, exact
|
||||
//! identity reads and deletes, independent SHA-256, version retention, and
|
||||
|
|
|
|||
Loading…
Reference in a new issue