-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kafka indexing service duplicate key exception in druid_pendingSegments table #16587
Comments
A couple days ago we upgraded to |
|
No we did not yet. Wondering how (much) it can hit the ingestion performance. |
I haven't seen any difference at all: no lag for millions of messages consumed and no extra load on the overlord side. |
Thanks for reporting this issue, @baaaaast ! |
Thanks, sure we'll try out and get back here. For the context, normally we ingest few millions messages per second. |
Setting |
@kfaraz is there any news on this matter? Thanks! |
Fixes #16587 Streaming ingestion tasks operate by allocating segments before ingesting rows. These allocations happen across replicas which may send different requests but must get the same segment id for a given (datasource, interval, version, sequenceName) across replicas. This patch fixes the bug by ignoring the previousSegmentId when skipLineageCheck is true.
Fixes apache#16587 Streaming ingestion tasks operate by allocating segments before ingesting rows. These allocations happen across replicas which may send different requests but must get the same segment id for a given (datasource, interval, version, sequenceName) across replicas. This patch fixes the bug by ignoring the previousSegmentId when skipLineageCheck is true.
Fixes #16587 Streaming ingestion tasks operate by allocating segments before ingesting rows. These allocations happen across replicas which may send different requests but must get the same segment id for a given (datasource, interval, version, sequenceName) across replicas. This patch fixes the bug by ignoring the previousSegmentId when skipLineageCheck is true. Co-authored-by: AmatyaAvadhanula <amatya.avadhanula@imply.io>
Affected Version
29.0.1
Description
KIS configuration :
Particularity of the topic :
=> KIS writes many segments in the past every hour.
Problem
After a while (after several intermediate persist periods), the overlord starts generating errors and returns a status 500 to the middlemanager. This causes the indexing task to fail.
I can't reproduce the problem if the kafka topic has a low rate of messages produced.
Overlord error
Postgresql error
=> We can see that the overlord tries to perform 2 consecutive INSERTs with the same sequence_name_prev_id_sha1.
Temporary solution
If I disable the batching segments allocation option by setting the
druid.indexer.tasklock.batchSegmentAllocation
property tofalse
, the problem disappears.The text was updated successfully, but these errors were encountered: