conduktor.io ↗

Kafka Exception ProcessorStateException

org.apache.kafka.streams.errors.ProcessorStateException
Non-retriable Streams

Indicates a processor state operation (e.g. init, put, get) has failed.

Common Causes

Solutions

Example Stack Trace

org.apache.kafka.streams.errors.ProcessorStateException: task [1_0] Failed to flush state store my-counts-store at org.apache.kafka.streams.processor.internals.ProcessorStateManager.flush(ProcessorStateManager.java:518) at org.apache.kafka.streams.processor.internals.StreamTask.flushState(StreamTask.java:560) at org.apache.kafka.streams.processor.internals.StreamTask.prepareCommit(StreamTask.java:402) at org.apache.kafka.streams.processor.internals.TaskManager.commitAndFillInConsumedOffsetsAndMetadataPerTaskMap(TaskManager.java:1156) at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:953) Caused by: org.rocksdb.RocksDBException: While open a file for appending: /var/lib/kafka-streams/my-app/1_0/my-counts-store/000123.sst: Too many open files

Diagnostic Commands

ulimit -n # RocksDB opens many files per store; bump if low (e.g. ulimit -n 100000) df -h <state.dir>; df -i <state.dir> # check free disk and inodes on the state directory volume ls -la <state.dir>/<application.id>/<task>/ # inspect for stale LOCK / *.sst; remove LOCK after a confirmed-dead process

Related

Related Streams exceptions: BrokerNotFoundException · InternalTopicsAlreadySetupException · InvalidStateStoreException · InvalidStateStorePartitionException · LockException · MisconfiguredInternalTopicException · MissingInternalTopicsException · MissingSourceTopicException

Hitting ProcessorStateException in production? Conduktor Console gives you real-time visibility into clients, consumer groups, and broker health. Browse every Kafka exception or protocol error code.