Boyang Chen created KAFKA-9674:
----------------------------------

             Summary: Task corruption should also close the producer if 
necessary
                 Key: KAFKA-9674
                 URL: https://issues.apache.org/jira/browse/KAFKA-9674
             Project: Kafka
          Issue Type: Bug
            Reporter: Boyang Chen
            Assignee: Boyang Chen


The task revive call only transits the task to CREATED mode. It should handle 
the recreation of task producer as well.

Sequence is like:
 # Task hits out of range exception and throws CorruptedException
 # Task producer closed along with the task
 # Task revived and rebalance triggered
 # Task was assigned back to the same thread
 # Trying to use task producer will throw as it has already been closed.

The full log:

 

[2020-03-03T21:56:29-08:00] 
(streams-soak-trunk-eos_soak_i-0eaa3f3a6a197f876_streamslog) [2020-03-04 
05:56:29,070] WARN 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] 
stream-thread 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] 
Encountered org.apache.kafka.clients.consumer.OffsetOutOfRangeException 
fetching records from restore consumer for partitions 
[stream-soak-test-KSTREAM-AGGREGATE-STATE-STORE-0000000019-changelog-0], it is 
likely that the consumer's position has fallen out of the topic partition 
offset range because the topic was truncated or compacted on the broker, 
marking the corresponding tasks as corrupted and re-initializing it later. 
(org.apache.kafka.streams.processor.internals.StoreChangelogReader)

[2020-03-03T21:56:29-08:00] 
(streams-soak-trunk-eos_soak_i-0eaa3f3a6a197f876_streamslog) [2020-03-04 
05:56:29,071] WARN 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] 
stream-thread 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] Detected 
the states of tasks 
\{1_0=[stream-soak-test-KSTREAM-AGGREGATE-STATE-STORE-0000000019-changelog-0]} 
are corrupted. Will close the task as dirty and re-create and bootstrap from 
scratch. (org.apache.kafka.streams.processor.internals.StreamThread)

 

[2020-03-03T21:56:30-08:00] 
(streams-soak-trunk-eos_soak_i-0eaa3f3a6a197f876_streamslog) [2020-03-04 
05:56:30,010] INFO 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] 
[Producer 
clientId=stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3-1_0-producer,
 transactionalId=stream-soak-test-1_0] Closing the Kafka producer with 
timeoutMillis = 9223372036854775807 ms. 
(org.apache.kafka.clients.producer.KafkaProducer)

 

 

[2020-03-03T21:56:30-08:00] 
(streams-soak-trunk-eos_soak_i-0eaa3f3a6a197f876_streamslog) [2020-03-04 
05:56:30,017] INFO 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] 
stream-thread 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] task 
[1_0] Closed clean (org.apache.kafka.streams.processor.internals.StreamTask)

 

 

[2020-03-03T21:56:22-08:00] 
(streams-soak-trunk-eos_soak_i-0eaa3f3a6a197f876_streamslog) [2020-03-04 
05:56:22,827] INFO 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] 
[Producer 
clientId=stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3-1_0-producer,
 transactionalId=stream-soak-test-1_0] Closing the Kafka producer with 
timeoutMillis = 9223372036854775807 ms. 
(org.apache.kafka.clients.producer.KafkaProducer)

[2020-03-03T21:56:22-08:00] 
(streams-soak-trunk-eos_soak_i-0eaa3f3a6a197f876_streamslog) [2020-03-04 
05:56:22,829] INFO 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] 
stream-thread 
[stream-soak-test-93df69e6-1d85-4b6a-81a1-c6d554693e3f-StreamThread-3] task 
[1_0] Closed dirty (org.apache.kafka.streams.processor.internals.StreamTask)

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to