Skip to main content

Crate powdb_sync

Crate powdb_sync 

Source
Expand description

Sync substrate for PowDB.

This crate is intentionally below the query layer. Its first responsibility is retaining durable WAL records as immutable replication-unit segments so future embedded replicas and read replicas can bootstrap from snapshot + tail without making powdb-query distribution-aware.

Re-exports§

pub use apply::apply_retained_tail;
pub use apply::apply_retained_units_chunk;
pub use apply::seed_retained_apply_boundary;
pub use apply::validate_v1_retained_tail_applyable;
pub use apply::validate_v1_retained_units_applyable;
pub use apply::RetainedTailApplySummary;
pub use checkpoint::archive_wal_records_for_identity;
pub use checkpoint::checkpoint_preserving_retained_segments_if_enabled;
pub use checkpoint::checkpoint_with_retained_segments;
pub use checkpoint::open_preserving_retained_segments;
pub use checkpoint::retained_segments_dir;
pub use checkpoint::SyncCatalog;
pub use checkpoint::RETAINED_SEGMENTS_DIR;
pub use metadata::minimum_retained_lsn;
pub use metadata::open_or_create_identity;
pub use metadata::read_identity;
pub use metadata::read_identity_snapshot;
pub use metadata::read_identity_snapshot_if_exists;
pub use metadata::read_replica_cursors;
pub use metadata::register_bootstrap_cursor;
pub use metadata::retire_replica_cursor;
pub use metadata::sync_state_dir;
pub use metadata::upsert_replica_cursor;
pub use metadata::write_identity_snapshot;
pub use metadata::write_replica_cursors;
pub use metadata::DatabaseIdentity;
pub use metadata::IdentitySnapshot;
pub use metadata::ReplicaCursor;
pub use metadata::IDENTITY_FILE;
pub use metadata::REPLICA_CURSORS_FILE;
pub use metadata::SYNC_METADATA_FORMAT_VERSION;
pub use metadata::SYNC_STATE_DIR;
pub use replica::acknowledge_replica_apply;
pub use replica::replica_sync_status;
pub use replica::ReplicaApplyAckSummary;
pub use replica::ReplicaSyncStatus;
pub use replica::SyncRepairAction;
pub use retention::prune_retained_segments;
pub use retention::prune_retained_segments_for_cursors;
pub use retention::prune_retained_segments_with_policy;
pub use retention::RetentionGcSummary;
pub use retention::RetentionPressurePolicy;
pub use retention::RetentionPressureSummary;
pub use segment::list_segment_files;
pub use segment::read_segment_file;
pub use segment::read_units_since;
pub use segment::read_units_through;
pub use segment::retained_tail_progress;
pub use segment::segment_file_name;
pub use segment::validate_retained_tail_available;
pub use segment::write_segment_atomic;
pub use segment::RetainedSegment;
pub use segment::RetainedTailAvailability;
pub use segment::RetainedTailProgress;
pub use segment::RetainedUnit;
pub use segment::SegmentFile;
pub use segment::SegmentIdentity;
pub use segment::RETAINED_SEGMENT_FORMAT_VERSION;

Modules§

apply
checkpoint
metadata
replica
retention
segment