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
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
Why and when should we consider Stream Processing frameworks in our solutions
Soroosh Khodami
Practical Change Data Streaming Use Cases With Debezium And Quarkus
Alex Soto
Distributed search under the hood
Alexander Reelsen
From event streaming to event sourcing 101
Gerard Klijs
Related Articles
View all articles



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



EMnify GmbH
Berlin, Germany
Remote
Senior
Kafka
Jenkins
Kubernetes
Continuous Integration
+1

KJR Software Services Ltd
Reading, United Kingdom
Junior
Java
NoSQL
Kafka
DevOps
Docker
+10

Delivery Hero AG
Berlin, Germany
Kafka
Python
Kotlin
Microservices
Machine Learning

Schwarz Unternehmenskommunikation GmbH & Co. KG
Heilbronn, Germany
Senior
REST
Kafka
Docker
Terraform
Kubernetes
+1



ITS Group
Canton de Montigny-le-Bretonneux, France
Remote
€65-70K
Senior
Scrum
Kafka
DevOps
+2