Skip to main content
José David Baena
Kafka Reliability Field Guide

Kafka reliability / Contract explorer

Kafka Delivery Contract Explorer

Which part of this pipeline has a guarantee, under which assumptions, and what remains unknown?

Baseline: apache-java-4.3.1 · source 26b251a451ce

This deterministic teaching model runs in your browser and never connects to Kafka. It accepts only bounded synthetic controls. Curated scenario and variant IDs may appear in a shareable URL; custom local values, payloads, brokers, credentials, and production identifiers never do. Exports include only what you request.

Deterministic teaching model · apache-java-4.3.1

D01: Local acceptance is not publication evidence

What can a local enqueue or acks 0 establish?

Choose a Kafka teaching scenario
Change bounded local inputs

Changing these controls creates a custom local example. The share link keeps only the original curated preset; exports can include your bounded local values.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Choose a boundary; dependent rows recompute.

Current outcome · step 0 of 2

The default matrix separates publication, progress, sink effect, identity, retention, and recovery authority.

curated preset

Default synthetic example loaded.

Contract boundaries

Application intent
Untracked local send
A process crash can erase the only copy before broker dispatch.
Publication evidence
idempotent-retry
The selected acknowledgement capability still depends on effective settings and failure assumptions.
Same-batch duplicate append
Conditionally protected
PID, epoch, partition, and sequence can recognize the same retained batch. A new send remains new work.
Transactional visibility
read_committed
HW, LSO, control records, and aborted ranges remain distinct exclusive boundaries.
Consumer progress
after-effect
Effect order alone does not make progress atomic or prevent gaps.
Business effect
Repeated effect possible
Kafka commit, abort, and ownership movement cannot retract or deduplicate the external effect.
Protection retention
UNKNOWN
Source retention does not preserve sink identity, authority, or schema meaning.
Recovery authority
1 unresolved obligation(s)
Resolve missing identity, retention, effect, and ownership evidence before effect-capable recovery.

Evidence obligations

Obligation 1
unresolved
Reconcile sink protection and restore-point retention.

Invariant results

  • Producer settings alone never establish one business effect

    holds in model

    External effect rows depend on sink identity, retention, and provider/local transaction contracts.

  • Unknown or expired retention never defaults to holds

    holds in model

    Unknown and expired retention remain unresolved or counterexamples.

  • Changing topology removes incompatible ordinary-profile rows

    holds in model

    Outside-profile selections return only the bounded independent-review result.

Ordered trace

The state table shows model truth. Each observer result says what the current caller can establish at that step.

Ordered deterministic actions through step 0. Print and exports contain the complete bounded trace.
StepActorActionObserver result
11 msreaderSet producerContract to no-broker-confirmationproducerContract changes to no-broker-confirmation; dependent guarantee rows are recomputed and stale rows are removed.
22 msreaderSet observation to not-observedobservation changes to not-observed; dependent guarantee rows are recomputed and stale rows are removed.

Evidence and limits

Claims

Primary sources

Assumptions and known limits
  • Selections describe declared contracts; they do not inspect a real system.
  • Unknown evidence stays unknown instead of inheriting a favorable default.
  • Capability projection is not certification, configuration advice, or live verification.
Default synthetic example loaded.

A capability row is not a pipeline certificate

The matrix projects declared contracts across publication, visibility, progress, identity, retention, and sink effects. It removes incompatible rows when the topology changes and keeps missing evidence UNKNOWN. Use the counterexample and evidence obligations to write a review question; do not turn the result into a production-safe score.

Assumptions and limits

  • Feature levels, protocol versions, client settings, and binary versions remain separate facts.
  • Replication examples use stable committed ISR membership between declared transitions.
  • The ordinary transaction profile disables transaction.two.phase.commit.enable.
  • Browser traces are deterministic teaching models, not broker observations or production recommendations.