Dainius Jocas
Don't Change the Partition Count for Kafka Topics!
#1about 5 minutes
An overview of the data indexing pipeline architecture
The system moves data from a MySQL primary data store to an Elasticsearch search server using a Kafka and Kafka Connect pipeline.
#2about 1 minute
Using Kafka partition offset for optimistic concurrency control
The system leverages the Kafka partition offset as the document version number in Elasticsearch to enable parallel indexing without data consistency issues.
#3about 2 minutes
Investigating a mysterious data deletion failure in production
A bug report about Elasticsearch failing to delete documents, which serves stale data, could not be reproduced in local or testing environments.
#4about 5 minutes
Discovering the offset and version number mismatch
Manual inspection reveals that the document version in Elasticsearch is significantly higher than the new message offset in the Kafka topic for the same key.
#5about 4 minutes
How changing partition count breaks message ordering guarantees
Increasing the Kafka topic's partition count changes the key hashing algorithm, causing new messages for the same key to land in different partitions with lower offsets.
#6about 4 minutes
The solution and key lessons for managing Kafka topics
The fix required a full data re-ingestion into a new Kafka topic, highlighting the lesson to never increase partition count when message ordering is critical.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
01:45 MIN
Exploring Kafka's core concepts of events, topics, and partitions
Let's Get Started With Apache Kafka® for Python Developers
01:17 MIN
Recapping Kafka's capabilities for real-time data feeds
Let's Get Started With Apache Kafka® for Python Developers
03:30 MIN
Navigating the Kafka ecosystem and the power of community
Let's Get Started With Apache Kafka® for Python Developers
22:41 MIN
Answering questions on Kafka use cases, careers, and learning
Let's Get Started With Apache Kafka® for Python Developers
05:28 MIN
Common challenges of running Kafka at scale
Tips, Techniques, and Common Pitfalls Debugging Kafka
04:23 MIN
A traditional approach to streaming with Kafka and Debezium
Python-Based Data Streaming Pipelines Within Minutes
03:41 MIN
Decoupling microservices with event streams
From event streaming to event sourcing 101
01:34 MIN
Managing data consistency with change data capture
Software Engineering Social Connection: Yubo’s lean approach to scaling an 80M-user infrastructure
Featured Partners
Related Videos
Tips, Techniques, and Common Pitfalls Debugging Kafka
DeveloperSteve
Practical Change Data Streaming Use Cases With Debezium And Quarkus
Alex Soto
How to Benchmark Your Apache Kafka
Kirill Kulikov
Let's Get Started With Apache Kafka® for Python Developers
Lucia Cerchie
Kafka Streams Microservices
Denis Washington & Olli Salonen
Distributed search under the hood
Alexander Reelsen
From event streaming to event sourcing 101
Gerard Klijs
Application Modernization and Rabbits
Niklas Heidloff
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

AUTO1 Group SE
Berlin, Germany
Intermediate
Senior
ELK
Terraform
Elasticsearch



SYSKRON GmbH
Regensburg, Germany
Intermediate
Senior
.NET
Python
Kubernetes




smartclip Europe GmbH
Hamburg, Germany
Intermediate
Senior
GIT
Linux
Python
Kubernetes

evoila Frankfurt GmbH
Mainz, Germany
Intermediate
Senior
Kubernetes