apache-kafka - Kafka Stream - kafka 生产者 I/O 线程中未捕获的错误:java.util.ConcurrentModificationException:null
问题描述
我正在运行一个 Kafka Stream 应用程序,最近我开始遇到以下异常,并且 kafka 流进程进入挂起关闭状态。这显示了 kafka 生产者内部 API 代码中的异常。可能是因为卡夫卡经纪人的负担过重吗?
2019-08-12 10:54:30 - [ERROR] [kafka-producer-network-thread | c8-max-view-live-1-StreamThread-1-producer] [org.apache.kafka.clients.producer.internals.Sender.run:235] : [Producer clientId=c8-max-view-live-1-StreamThread-1-producer] Uncaught error in kafka producer I/O thread:
java.util.ConcurrentModificationException: null
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
at java.util.HashMap$EntryIterator.next(HashMap.java:1463)
at java.util.HashMap$EntryIterator.next(HashMap.java:1461)
at org.apache.kafka.clients.producer.internals.Sender.getExpiredInflightBatches(Sender.java:177)
at org.apache.kafka.clients.producer.internals.Sender.sendProducerData(Sender.java:353)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:308)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:233)
at java.lang.Thread.run(Thread.java:745)
2019-08-12 10:54:30 - [ERROR] [kafka-producer-network-thread | c8-max-view-live-1-StreamThread-1-producer] [org.apache.kafka.clients.producer.internals.Sender.run:235] : [Producer clientId=c8-max-view-live-1-StreamThread-1-producer] Uncaught error in kafka producer I/O thread:
java.util.ConcurrentModificationException: null
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
at java.util.HashMap$EntryIterator.next(HashMap.java:1463)
at java.util.HashMap$EntryIterator.next(HashMap.java:1461)
at org.apache.kafka.clients.producer.internals.Sender.getExpiredInflightBatches(Sender.java:177)
at org.apache.kafka.clients.producer.internals.Sender.sendProducerData(Sender.java:353)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:308)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:233)
at java.lang.Thread.run(Thread.java:745)
在这个 kafka 流进程挂起之后:
2019-08-12 10:54:31 - [INFO] [c8-max-view-live-1-StreamThread-1] [org.apache.kafka.streams.KafkaStreams.setState:257] : stream-client [c8-max-view-live-1] State transition from ERROR to PENDING_SHUTDOWN
2019-08-12 10:54:31 - [INFO] [kafka-streams-close-thread] [org.apache.kafka.streams.processor.internals.StreamThread.shutdown:1164] : stream-thread [c8-max-view-live-1-StreamThread-1] Informed to shut down
解决方案
确定并修复了一个围绕在迭代时改变底层 Collection 问题的错误。请在此处查看。
推荐阅读
- ubuntu - 在 ubuntu 上恢复 clion 默认设置
- javascript - 如何使用用户输入修改数组(用 html 中的表格显示)
- php - Symfony POST Value Id 转换为实体
- django - Проблема с файлом wsgi.py(wsgi.py 文件的问题)
- flutter - 如何获取 sqflite 使用的 db 文件?
- html - 外部 CSS 字体系列未在浏览器中显示
- python - Python - 创建一个检查列表列表中的新元素的函数
- php - 如何从 Lumen 连接到 Firebird 数据库?
- python - 在 Python for 循环中使用 %s
- python - 标签和列表视图未显示在小部件上