Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Operational Modes

taba nodes operate in one of three modes:

Normal

All operations permitted: authoring, composition, placement, archive, compaction. This is the default state.

Degraded

Entered when a trigger condition is met:

  • Erasure threshold exceeded (INV-R4): too many node failures
  • Memory limit exceeded (INV-R6): graph exceeds configured limit
  • WAL failure (FM-07): disk full, corruption, I/O error
  • Operator-triggered: manual taba node degraded

In Degraded mode:

  • ❌ Authoring frozen (no new units)
  • ❌ Composition frozen (no new placements)
  • ❌ Placement frozen
  • ✅ Drain and evacuation only
  • ✅ Gossip continues (membership updates, health)

Transitions to Normal: operator override only (not automatic).

Recovery

Entered from Degraded when the trigger condition is resolved:

  • Erasure re-coding completes
  • Compaction frees enough memory
  • WAL is repaired or rotated
  • Operator clears the degraded state

In Recovery mode:

  • ✅ Placement throttled (re-building capacity)
  • ✅ Re-coding in progress
  • ❌ Full-speed operations not yet resumed

Transitions to Normal: automatic when recovery completes.

State machine

Normal → Degraded (any trigger)
Degraded → Recovery (trigger resolved)
Recovery → Normal (recovery complete)
Degraded → Normal (operator override only)

Invalid transitions return NodeError::InvalidModeTransition.

Monitoring

taba status    # Shows current operational mode

The health reporter (HealthReporter) tracks:

  • Units running vs failed
  • WAL size in bytes
  • Graph memory vs limit
  • Memory pressure percentage (0-100)

Compaction triggers at 80% of memory limit (INV-R6). Degraded mode triggers at 100%.