You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Boyang Chen (Jira)" <ji...@apache.org> on 2020/03/01 02:16:00 UTC

[jira] [Comment Edited] (KAFKA-9618) Failed state store deletion could lead to task file not found

    [ https://issues.apache.org/jira/browse/KAFKA-9618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047813#comment-17047813 ] 

Boyang Chen edited comment on KAFKA-9618 at 3/1/20 2:15 AM:
------------------------------------------------------------

Reproduced the exception as:
{code:java}
[stream-soak-test-e6003ae8-1331-4b99-97e3-a3229aaa15fd-StreamThread-3] task [1_1] Failed to wiping state stores for task 1_1 (org.apache.kafka.streams.processor.internals.StreamTask)
[2020-02-29T05:50:03-08:00] (streams-soak-trunk-eos_soak_i-0c3043df582d0379a_streamslog) [2020-02-29 13:49:58,304] ERROR [stream-soak-test-e6003ae8-1331-4b99-97e3-a3229aaa15fd-StreamThread-3] stream-thread [stream-soak-test-e6003ae8-1331-4b99-97e3-a3229aaa15fd-StreamThread-3] Encountered the following exception during processing and the thread is going to shut down:  (org.apache.kafka.streams.processor.internals.StreamThread)
[2020-02-29T05:50:03-08:00] (streams-soak-trunk-eos_soak_i-0c3043df582d0379a_streamslog) org.apache.kafka.streams.errors.TaskMigratedException: The deletion of directory for task 1_1failed; it means all tasks belonging to this thread should be migrated.
        at org.apache.kafka.streams.processor.internals.StateManagerUtil.wipeStateStores(StateManagerUtil.java:89)
        at org.apache.kafka.streams.processor.internals.StreamTask.close(StreamTask.java:450)
        at org.apache.kafka.streams.processor.internals.StreamTask.closeDirty(StreamTask.java:392)
        at org.apache.kafka.streams.processor.internals.TaskManager.handleLostAll(TaskManager.java:339)
        at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:766)
        at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:725)
[2020-02-29T05:50:03-08:00] (streams-soak-trunk-eos_soak_i-0c3043df582d0379a_streamslog) Caused by: java.nio.file.DirectoryNotEmptyException: /mnt/run/streams/state/stream-soak-test/1_1/KSTREAM-AGGREGATE-STATE-STORE-0000000025/KSTREAM-AGGREGATE-STATE-STORE-0000000025.1582891200000
        at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:242)
        at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
        at java.nio.file.Files.delete(Files.java:1126)
        at org.apache.kafka.common.utils.Utils$2.postVisitDirectory(Utils.java:762)
        at org.apache.kafka.common.utils.Utils$2.postVisitDirectory(Utils.java:744)
        at java.nio.file.Files.walkFileTree(Files.java:2688)
        at java.nio.file.Files.walkFileTree(Files.java:2742)
        at org.apache.kafka.common.utils.Utils.delete(Utils.java:744)
        at org.apache.kafka.streams.processor.internals.StateManagerUtil.wipeStateStores(StateManagerUtil.java:86)
        ... 5 more
[2020-02-29T05:50:03-08:00] (streams-soak-trunk-eos_soak_i-0c3043df582d0379a_streamslog) [2020-02-29 13:49:58,305] INFO [stream-soak-test-e6003ae8-1331-4b99-97e3-a3229aaa15fd-StreamThread-3] stream-thread [stream-soak-test-e6003ae8-1331-4b99-97e3-a3229aaa15fd-StreamThread-3] State transition from RUNNING to PENDING_SHUTDOWN (org.apache.kafka.streams.processor.internals.StreamThread)
{code}


was (Author: bchen225242):
Reproduced the exception as:
{code:java}
[stream-soak-test-776e3009-0514-454c-a473-8964806818c0-StreamThread-1] task [1_1] Failed to wiping state stores for task 1_1 due to {} (org.apache.kafka.streams.processor.internals.StreamTask) [2020-02-28T05:18:02-08:00] (streams-soak-trunk-eos_soak_i-0f3c459ae5907ce97_streamslog) java.nio.file.DirectoryNotEmptyException: /mnt/run/streams/state/stream-soak-test/1_1/KSTREAM-AGGREGATE-STATE-STORE-0000000019/KSTREAM-AGGREGATE-STATE-STORE-0000000019.1582804800000         at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:242)         at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)         at java.nio.file.Files.delete(Files.java:1126)         at org.apache.kafka.common.utils.Utils$2.postVisitDirectory(Utils.java:761)         at org.apache.kafka.common.utils.Utils$2.postVisitDirectory(Utils.java:744)         at java.nio.file.Files.walkFileTree(Files.java:2688)         at java.nio.file.Files.walkFileTree(Files.java:2742)         at org.apache.kafka.common.utils.Utils.delete(Utils.java:744)         at org.apache.kafka.streams.processor.internals.StateManagerUtil.wipeStateStores(StateManagerUtil.java:84)         at org.apache.kafka.streams.processor.internals.StreamTask.close(StreamTask.java:450)         at org.apache.kafka.streams.processor.internals.StreamTask.closeDirty(StreamTask.java:392)         at org.apache.kafka.streams.processor.internals.TaskManager.handleLostAll(TaskManager.java:337)         at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:766)         at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:725)
{code}

> Failed state store deletion could lead to task file not found
> -------------------------------------------------------------
>
>                 Key: KAFKA-9618
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9618
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>            Reporter: Boyang Chen
>            Assignee: Boyang Chen
>            Priority: Major
>
> A failed deletion of a stream task directory could later lead to the impression that the task state is still there, thus causing file not found exception as the directory was partially deleted.
> {code:java}
> [2020-02-26T22:08:05-08:00] (streams-soak-trunk-eos_soak_i-04ebd21fd0e0da9bf_streamslog) [2020-02-27 06:08:04,394] WARN [stream-soak-test-b26adb53-07e2-4013-933a-0f4bcac84c04-StreamThread-2] stream-thread [stream-soak-test-b26adb53-07e2-4013-933a-0f4bcac84c04-StreamThread-2] task [2_2] Failed to wiping state stores for task 2_2 (org.apache.kafka.streams.processor.internals.StreamTask) [2020-02-26T22:08:05-08:00] (streams-soak-trunk-eos_soak_i-04ebd21fd0e0da9bf_streamslog) [2020-02-27 06:08:04,394] INFO [stream-soak-test-b26adb53-07e2-4013-933a-0f4bcac84c04-StreamThread-2] [Producer clientId=stream-soak-test-b26adb53-07e2-4013-933a-0f4bcac84c04-StreamThread-2-2_2-producer, transactionalId=stream-soak-test-2_2] Closing the Kafka producer with timeoutMillis = 9223372036854775807 ms. (org.apache.kafka.clients.producer.KafkaProducer)
> [2020-02-26T22:08:05-08:00] (streams-soak-trunk-eos_soak_i-04ebd21fd0e0da9bf_streamslog) [2020-02-27 06:08:04,411] ERROR [stream-soak-test-b26adb53-07e2-4013-933a-0f4bcac84c04-StreamThread-1] stream-thread [stream-soak-test-b26adb53-07e2-4013-933a-0f4bcac84c04-StreamThread-1] Encountered the following exception during processing and the thread is going to shut down:  (org.apache.kafka.streams.processor.internals.StreamThread) [2020-02-26T22:08:05-08:00] (streams-soak-trunk-eos_soak_i-04ebd21fd0e0da9bf_streamslog) org.apache.kafka.streams.errors.ProcessorStateException: Error opening store KSTREAM-AGGREGATE-STATE-STORE-0000000040 at location /mnt/run/streams/state/stream-soak-test/2_2/rocksdb/KSTREAM-AGGREGATE-STATE-STORE-0000000040         at org.apache.kafka.streams.state.internals.RocksDBTimestampedStore.openRocksDB(RocksDBTimestampedStore.java:87)         at org.apache.kafka.streams.state.internals.RocksDBStore.openDB(RocksDBStore.java:191)         at org.apache.kafka.streams.state.internals.RocksDBStore.init(RocksDBStore.java:230)         at org.apache.kafka.streams.state.internals.WrappedStateStore.init(WrappedStateStore.java:48)         at org.apache.kafka.streams.state.internals.ChangeLoggingKeyValueBytesStore.init(ChangeLoggingKeyValueBytesStore.java:44)         at org.apache.kafka.streams.state.internals.WrappedStateStore.init(WrappedStateStore.java:48)         at org.apache.kafka.streams.state.internals.CachingKeyValueStore.init(CachingKeyValueStore.java:58)         at org.apache.kafka.streams.state.internals.WrappedStateStore.init(WrappedStateStore.java:48)
> {code}



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