Colt McNealy created KAFKA-17455:
------------------------------------

             Summary: `TaskCorruptedException` After Client Quota Throttling
                 Key: KAFKA-17455
                 URL: https://issues.apache.org/jira/browse/KAFKA-17455
             Project: Kafka
          Issue Type: Bug
          Components: clients, streams
    Affects Versions: 3.8.0
            Reporter: Colt McNealy


When running a Kafka Streams EOS app that goes slightly above a configured user 
quota, we can reliably reproduce `TaskCorruptedException`s after throttling. 
This is the case even with an application that goes only 5-10% above the 
configured quota.

 

The root cause is a `TimeoutException` encountered in the 
`TaskExecutor.commitOffsetsOrTransaction`.

 

Stacktrace provided below:

 

```

19:45:28 ERROR [KAFKA] TaskExecutor - stream-thread 
[basic-tls-0-core-StreamThread-2] Committing task(s) 1_2 failed. 
org.apache.kafka.common.errors.TimeoutException: Timeout expired after 60000ms 
while awaiting AddOffsetsToTxn 19:45:28 WARN [KAFKA] StreamThread - 
stream-thread [basic-tls-0-core-StreamThread-2] Detected the states of tasks 
[1_2] are corrupted. Will close the task as dirty and re-create and bootstrap 
from scratch. org.apache.kafka.streams.errors.TaskCorruptedException: Tasks 
[1_2] are corrupted and hence need to be re-initialized at 
org.apache.kafka.streams.processor.internals.TaskExecutor.commitOffsetsOrTransaction(TaskExecutor.java:249)
 ~[server.jar:?] at 
org.apache.kafka.streams.processor.internals.TaskExecutor.commitTasksAndMaybeUpdateCommittableOffsets(TaskExecutor.java:154)
 ~[server.jar:?] at 
org.apache.kafka.streams.processor.internals.TaskManager.commitTasksAndMaybeUpdateCommittableOffsets(TaskManager.java:1915)
 ~[server.jar:?] at 
org.apache.kafka.streams.processor.internals.TaskManager.commit(TaskManager.java:1882)
 ~[server.jar:?] at 
org.apache.kafka.streams.processor.internals.StreamThread.maybeCommit(StreamThread.java:1384)
 ~[server.jar:?] at 
org.apache.kafka.streams.processor.internals.StreamThread.runOnceWithoutProcessingThreads(StreamThread.java:1033)
 ~[server.jar:?] at 
org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:711)
 [server.jar:?] at 
org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:670)
 [server.jar:?]

```



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to