Skip to main content

laminar_core/checkpoint/
mod.rs

1//! Checkpoint barrier protocol and storage.
2//!
3//! Coordinator-triggered barriers flow through sources to trigger consistent
4//! state snapshots. The fast path is a single `AtomicU64` load (~10ns).
5
6/// Checkpoint barrier types and cross-thread injection.
7pub mod barrier;
8
9/// Feature-neutral assignment certificate retained by exact checkpoint attempts.
10pub mod assignment;
11
12/// Feature-neutral leader authority retained by durable protocol records.
13pub mod authority;
14
15/// Unified checkpoint manifest types
16pub mod checkpoint_manifest;
17
18/// Checkpoint persistence trait and filesystem/object store implementations
19pub mod checkpoint_store;
20
21/// Object store factory — builds S3, GCS, Azure, or local backends from URL schemes.
22pub mod object_store_builder;
23
24/// Compact inventory evidence for unresolved prepared checkpoints.
25pub mod prepared_witness;
26
27/// Canonical recovery image selected by a committed cluster checkpoint.
28pub mod recovery_capsule;
29
30pub use assignment::{
31    AssignmentDrainId, AssignmentDrainTransition, CheckpointAssignmentAdoption,
32    CheckpointAssignmentFence, CheckpointParticipant, MAX_CHECKPOINT_PARTICIPANTS,
33};
34pub use authority::{LeaderProof, LeaderProofOwner};
35pub use barrier::{
36    flags, BarrierPollHandle, CheckpointBarrier, CheckpointBarrierInjector, StreamMessage,
37};
38
39pub use checkpoint_manifest::{
40    CheckpointManifest, ConnectorCheckpoint, OperatorCheckpoint, PipelineIdentity,
41    PIPELINE_IDENTITY_VERSION,
42};
43pub use checkpoint_store::{
44    CheckpointStore, CheckpointStoreError, FileSystemCheckpointStore, ObjectStoreCheckpointStore,
45    RecoveryReport, ValidationIssue, ValidationResult,
46};
47pub use prepared_witness::{PreparedCheckpointWitness, MAX_PREPARED_CHECKPOINT_WITNESSES};
48pub use recovery_capsule::{
49    canonical_json_bytes, canonical_json_sha256, CheckpointWatermark, ClusterRecoveryCapsule,
50    CommittedSourceHandoff, ParticipantRecoveryRef, RecoveryCapsuleRef, SourceHandoffState,
51    CLUSTER_RECOVERY_CAPSULE_VERSION, MAX_RECOVERY_CAPSULE_BYTES,
52};