ProductDocumentationExamplesBlogRoadmapGitHubGet Started
Available

Connector Certification

The normative certification suite, maturity labels, and the delivery-guarantee matrix.

Every connector in krishiv-connectors carries a maturity label and a delivery guarantee. The certification suite is the single source of truth for what is real and what is aspirational.

Maturity labels

LabelMeaning
CertifiedPasses the full certification.rs suite. Has a confirmed production deployment. Documented in this guide.
PreviewCode works, certification suite has run, but no production deployment yet. The API may change.
ExperimentalEarly-stage. May be incomplete. The API will change.

Delivery guarantee matrix

The effective delivery guarantee is the weakest across the source, sink, and durability profile. Combinations outside this table are unsupported (the runtime fails the query at submit time with a clear error).

SourceSinkProfileGuaranteeCertified
Parquet (batch)Parquet (batch)anyBest effortYes
Parquet (batch)Parquet (two-phase)distributed-durableEffectively onceYes
KafkaParquetsingle-node-durable+At-least-onceYes
Kafka (transactional)Parquet (two-phase)distributed-durableExactly onceYes
Kafka (transactional)Kafka (transactional)distributed-durableExactly onceYes
Kafka (transactional)Iceberg (two-phase)distributed-durableExactly onceYes
Iceberg (batch)Iceberg (batch)anyBest effortYes
Delta (batch, local)Delta (batch)anyBest effortYes (local fs only)
Delta (batch, local)Delta (two-phase)distributed-durableEffectively onceYes (local fs only)
Hudi (batch, local)Hudi (two-phase)distributed-durableEffectively onceYes (local fs only)
In-memory streamIn-memory sinkanyBest effortYes
Vector sinksanyBest effortNo (Experimental)

The certification suite

Lives at crates/krishiv-connectors/certification.rs (gated #[cfg(test)]). Runs the canonical failure-and-recovery matrix for every Certified connector:

  1. Source reconnect after connection loss.
  2. Source offset commit before the batch is acked.
  3. Sink write-failure rollback and retry.
  4. Two-phase commit prepare → coordinator crash → restart → resolve.
  5. Schema-evolution compatibility (added, dropped, widened columns).
  6. Late-event handling for sources with event time.

Run with:

cargo test -p krishiv-connectors --features='lakehouse kafka iceberg' --test certification

Adding a new connector

  1. Implement SourceDriver and SinkDriver in crates/krishiv-connectors/src/<kind>.rs.
  2. Register the kind in ConnectorKind and add a capabilities profile in registry/capabilities.rs.
  3. Add a certification test to certification.rs covering the failures you intend to handle.
  4. Bump the maturity from Preview to Certified only after the suite passes in CI for 4 weeks and you have a production deployment.

See also