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
03:01 MIN
Exploring Kafka's core concepts of events, topics, and partitions
Let's Get Started With Apache Kafka® for Python Developers
15:40 MIN
Common challenges of running Kafka at scale
Tips, Techniques, and Common Pitfalls Debugging Kafka
05:20 MIN
A traditional approach to streaming with Kafka and Debezium
Python-Based Data Streaming Pipelines Within Minutes
10:34 MIN
Decoupling microservices with event streams
From event streaming to event sourcing 101
03:40 MIN
Understanding Kafka's role in modern architectures
Tips, Techniques, and Common Pitfalls Debugging Kafka
14:52 MIN
Recapping Kafka's capabilities for real-time data feeds
Let's Get Started With Apache Kafka® for Python Developers
15:37 MIN
How to configure Kafka for high throughput
How to Benchmark Your Apache Kafka
11:22 MIN
Navigating the Kafka ecosystem and the power of community
Let's Get Started With Apache Kafka® for Python Developers
Featured Partners
Related Videos
Practical Change Data Streaming Use Cases With Debezium And Quarkus
Alex Soto
Tips, Techniques, and Common Pitfalls Debugging Kafka
DeveloperSteve
Let's Get Started With Apache Kafka® for Python Developers
Lucia Cerchie
How to Benchmark Your Apache Kafka
Kirill Kulikov
Kafka Streams Microservices
Denis Washington & Olli Salonen
Distributed search under the hood
Alexander Reelsen
From event streaming to event sourcing 101
Gerard Klijs
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Jens Happe
Related Articles
View all articles



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

DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Santander, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6

DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Girona, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6

DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Marbella, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6

DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Madrid, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6


DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Palma, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6

DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Seville, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6

DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Valladolid, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6

DevOps Engineer (Kafka - AWS)
hiberus
Municipality of Granada, Spain
Remote
Senior
Scrum
Kafka
DevOps
Ansible
+6