Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-6162

Stream Store tries to create directory with invalid name on Windows

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 1.0.0
    • None
    • streams
    • None
    • Windows

    Description

      Stream store attempts to create a file with name generated from segment ID:
      Segments.java, line 72: name + ":" + segmentId * segmentInterval

      ":" is invalid in directory name on Windows, so directory creation fails in RocksDB, with following exception:

      org.apache.kafka.streams.errors.ProcessorStateException: task [1_0] Failed to flush state store XXX
      at org.apache.kafka.streams.processor.internals.ProcessorStateManager.flush(ProcessorStateManager.java:248)
      at org.apache.kafka.streams.processor.internals.AbstractTask.flushState(AbstractTask.java:196)
      at org.apache.kafka.streams.processor.internals.StreamTask.flushState(StreamTask.java:324)
      at org.apache.kafka.streams.processor.internals.StreamTask$1.run(StreamTask.java:304)
      at org.apache.kafka.streams.processor.internals.StreamsMetricsImpl.measureLatencyNs(StreamsMetricsImpl.java:208)
      at org.apache.kafka.streams.processor.internals.StreamTask.commit(StreamTask.java:299)
      at org.apache.kafka.streams.processor.internals.StreamTask.commit(StreamTask.java:289)
      at org.apache.kafka.streams.processor.internals.AssignedTasks$2.apply(AssignedTasks.java:87)
      at org.apache.kafka.streams.processor.internals.AssignedTasks.applyToRunningTasks(AssignedTasks.java:451)
      at org.apache.kafka.streams.processor.internals.AssignedTasks.commit(AssignedTasks.java:380)
      at org.apache.kafka.streams.processor.internals.TaskManager.commitAll(TaskManager.java:309)
      at org.apache.kafka.streams.processor.internals.StreamThread.maybeCommit(StreamThread.java:1018)
      at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:835)
      at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:774)
      at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:744)
      Caused by: org.apache.kafka.streams.errors.ProcessorStateException: Error opening store XXX:1509624000000 at location C:\Users\User\AppData\Local\Temp\embedded-kafka4250738387316061569\kafka-streams\Host-1509650758702-6227-aggregator\1_0\XXX\XXX:1509624000000
      at org.apache.kafka.streams.state.internals.RocksDBStore.openDB(RocksDBStore.java:204)
      at org.apache.kafka.streams.state.internals.RocksDBStore.openDB(RocksDBStore.java:174)
      at org.apache.kafka.streams.state.internals.Segment.openDB(Segment.java:40)
      at org.apache.kafka.streams.state.internals.Segments.getOrCreateSegment(Segments.java:89)
      at org.apache.kafka.streams.state.internals.RocksDBSegmentedBytesStore.put(RocksDBSegmentedBytesStore.java:81)
      at org.apache.kafka.streams.state.internals.RocksDBWindowStore$RocksDBWindowBytesStore.put(RocksDBWindowStore.java:43)
      at org.apache.kafka.streams.state.internals.RocksDBWindowStore$RocksDBWindowBytesStore.put(RocksDBWindowStore.java:34)
      at org.apache.kafka.streams.state.internals.ChangeLoggingWindowBytesStore.put(ChangeLoggingWindowBytesStore.java:67)
      at org.apache.kafka.streams.state.internals.ChangeLoggingWindowBytesStore.put(ChangeLoggingWindowBytesStore.java:33)
      at org.apache.kafka.streams.state.internals.CachingWindowStore$1.apply(CachingWindowStore.java:100)
      at org.apache.kafka.streams.state.internals.NamedCache.flush(NamedCache.java:141)
      at org.apache.kafka.streams.state.internals.NamedCache.flush(NamedCache.java:99)
      at org.apache.kafka.streams.state.internals.ThreadCache.flush(ThreadCache.java:127)
      at org.apache.kafka.streams.state.internals.CachingWindowStore.flush(CachingWindowStore.java:132)
      at org.apache.kafka.streams.state.internals.MeteredWindowStore.flush(MeteredWindowStore.java:128)
      at org.apache.kafka.streams.processor.internals.ProcessorStateManager.flush(ProcessorStateManager.java:245)
      ... 14 common frames omitted
      Caused by: org.rocksdb.RocksDBException: Failed to create dir: C:\Users\User\AppData\Local\Temp\embedded-kafka4250738387316061569\kafka-streams\Host-1509650758702-6227-aggregator\1_0\XXX\XXX:1509624000000: Invalid argument
      at org.rocksdb.RocksDB.open(Native Method)
      at org.rocksdb.RocksDB.open(RocksDB.java:231)
      at org.apache.kafka.streams.state.internals.RocksDBStore.openDB(RocksDBStore.java:197)
      ... 29 common frames omitted

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              nniv Nitzan Niv
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: