Skip to content

Glossary ​

Living glossary of MortarMQ terminology and naming. The governing rule: same meaning, same name; different meaning, different name.

1. On-Disk Format Magics ​

Rule: MM prefix + a 2–3 letter category code. Every persistent file format gets its own magic; magics are never reused, and the version field immediately follows the magic. New formats must be registered in this table before they are implemented.

MagicFileMnemonic
MMQSPartition segment (message log segment)Queue Segment
MMQCPartition checkpointQueue Checkpoint
MMMLMetadata log (source-of-truth metadata log)Meta Mutation Log
MMMSMetadata snapshot (mmms-<offset>-<epoch>.bin)Meta Metastate
MMLQDelivery ledger (delivery.mql)Ledger (Queue delivery semantics)
MMCUCursor checkpoint (cursor.mqc)Cursor
MMDLDLQ envelopeDead Letter
MMCUPFollower catch-up stateCatch-up

Historical erratum: the object diagram once mistyped MMRS (corrected to MMQS on 2026-10-01). This table is the yardstick for catching such errors.

2. Epoch / Sequence Naming ​

The easiest naming pairs to get wrong in this project:

TermSemantics
cluster_epochStatic membership-configuration version
leader_epochReplication-group leader version (increments after Prepare/Install); the fencing boundary
promised_leader_epochLocally persisted promise watermark
membership_epochVersion of the member set (increments on join/leave/subscription change)
assignment_epochTarget-assignment version
installed_assignment_epochThe assignment version a member has installed (⚠️ formerly member_epoch; renamed 2026-10-01 because it differed from membership_epoch by only 4 characters while being semantically orthogonal. The wire field name remains assignment_epoch)
ownership_epochSingle-partition ownership version (consumer-side fencing)
wholesale_ownership_epochWholesale ownership generation of one subscription — the value CREDIT.ownership_epoch carries. Advances only when a subscription's ownership set is replaced whole (revoke-all / loss / rejoin), never on a partial partition migration; the retired generation's tombstone outlives member lifecycles
cursor_epochCursor-checkpoint version
mutation_idMonotonic metadata-mutation number (failover floor)
commit_seq / visible_seqQuorum commit point / consumer-visible ceiling
last_appended / flushed_seqLocal write point / local durability point
ack_floor / next_scan / first_retained_seqContiguous-ack watermark / scan position / retention start
delivery_idId of one delivery instance (consumer-side fencing — not the business idempotency key)
producer_id / producer_seqProducer idempotency key (use this pair for business dedup, not delivery_id)

Fence repair order: fence_operation checks generation first (0x0020 StaleGeneration), ownership second (0x0021 NotOwner), recency third (0x0022 StaleOwner); a request that fails several fences reports the earliest — the first repair the client must make. Table of record: broker/epoch_model.mbt.

3. ID System Map ​

The numbered IDs that recur across this site. Each one is either defined on a page that ships here or labels something on a page that ships here — no ID in this documentation refers to a document outside this repository.

PrefixMeaning
UC1–UC12Use cases (diagrams)
INV-001…INV-014Invariant register (single source of truth across all three methodologies)
CM / CB / CL / CF / CS / CQProperty suites: metrics conservation / rebalance / clock / frame / client state machine / quorum consistency
Golden nPer-component golden cases
P0 / P1 / P2Priority tier: P0 blocks the work that depends on it, P1 must close before that work starts, P2 needs a probe first
0x0/2/4/6xxxFour error-code segments (protocol / metadata / backpressure / replication) — see Error Code Registry

4. Backlog ​

To be added as they stabilize: the 19 config allowlist names, the 15 metric names, and the TSV column names for the 7 CLI commands. All three are machine-readable; this glossary only hosts abbreviations that recur in conversation.