Doris Summit 2026Day 2 · From Streaming Data to Trusted Context

Exactly-Once Ingestion in Apache Doris

Shekhar Rajak · Atlassian

About this session

Kafka, stream-processing engines, and Apache Doris each maintain their own progress and transaction state. This talk follows one Kafka event from a partition, through ingestion, to a visible Doris row - and explains the coordination that makes this path reliable. We trace three designs: Kafka -> Doris, Kafka -> Flink -> Doris, and Kafka -> Spark -> Doris. In Routine Load, Doris reads Kafka records and saves its place in the topic together with the data it loads. In Flink, the engine saves its Kafka progress, asks Doris to prepare the data for commit, and finalizes the Doris write only when the checkpoint succeeds. In Spark, each micro-batch prepares its Doris writes, then the driver finalizes them for that batch. Finally, Doris makes the committed data available for queries. After following the normal flow, we examine what happens if a worker, the processing engine, or Doris fails along the way. In every path, the system must remember both where to resume reading from Kafka and which Doris write belongs to that progress. On restart, it must safely finish the same write or replay the data without creating duplicates. We also clarify the difference between data that is prepared, committed, and finally visible to queries. Attendees will learn how Kafka offsets/Share group, checkpoints or epochs, Doris Stream Load 2PC, transaction labels, FE metadata, and publish-to-visible work together - so they can choose the right ingestion path, validate no-data-loss behavior, and debug duplicates or recovery failures. The talk will also explore how Kafka Share Groups are expected to evolve to support higher-throughput consumption in the future.

Speaker

Shekhar Rajak

Shekhar Rajak

Senior Software Engineer, Data Platform · Atlassian

Shekhar is a seasoned open-source developer and advocate, with contributions to Apache Software Foundation, Kubeflow, SymPy, NumPy, SciPy, Bundler, and as the author of daru and daru-view in the SciRuby ecosystem. A two-time Google Summer of Code alumnus (2016, 2017) and former SciRuby org admin, he has mentored across multiple open-source communities. He has spoken at leading conferences, including RubyConf, PyCon, ApacheCon, PyData, Community Over Code and Iceberg Summit, alongside regional tech meetups. Currently, he is a Senior Software Engineer at Atlassian, driving innovation in Data Platform.

LinkedIn ↗ · Shekhar Rajak

Keep exploring

All 31 sessions →