Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConcurrentModificationException Happened while high load and draining #821

Closed
sangreal opened this issue Aug 22, 2024 · 1 comment
Closed

Comments

@sangreal
Copy link
Contributor

Version. 0.5.3.0

2024-08-21 23:41:51:714 +0000 [pool-7-thread-1] ERROR io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor - Execution or timeout exception while waiting for the control thread to close cleanly (state was DRAINING). Try increasing your time-out to allow the system to drain, or close without draining.
java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)
        at io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.waitForClose(AbstractParallelEoSStreamProcessor.java:615)
        at io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.close(AbstractParallelEoSStreamProcessor.java:589)
        at io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.close(AbstractParallelEoSStreamProcessor.java:574)
        at io.confluent.parallelconsumer.vertx.VertxParallelEoSStreamProcessor.close(VertxParallelEoSStreamProcessor.java:321)
        at com.coupang.counect.clients.channels.kafka.KafkaInboundChannel$getParallelDispatcherHandler$1.close(KafkaInboundChannel.kt:204)
        at com.coupang.counect.clients.channels.kafka.KafkaInboundChannel.close(KafkaInboundChannel.kt:242)
        at com.coupang.counect.clients.consumer.CounectConsumer.tryFixChannels(CounectConsumer.kt:90)
        at com.coupang.counect.clients.consumer.CounectConsumer._init_$lambda-0(CounectConsumer.kt:63)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.closeAndWait(BrokerPollSystem.java:277)
        at io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.doClose(AbstractParallelEoSStreamProcessor.java:685)
        at io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.lambda$supervisorLoop$9(AbstractParallelEoSStreamProcessor.java:810)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        ... 3 more
Caused by: java.util.ConcurrentModificationException
        at java.base/java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1486)
        at java.base/java.util.TreeMap$KeyIterator.next(TreeMap.java:1540)
        at io.confluent.parallelconsumer.state.ShardManager.getNumberOfFailedWorkReadyToBeRetried(ShardManager.java:318)
        at io.confluent.parallelconsumer.state.ShardManager.getNumberOfWorkQueuedInShardsAwaitingSelection(ShardManager.java:142)
        at io.confluent.parallelconsumer.state.WorkManager.getNumberOfWorkQueuedInShardsAwaitingSelection(WorkManager.java:255)
        at io.confluent.parallelconsumer.state.WorkManager.isSufficientlyLoaded(WorkManager.java:235)
        at io.confluent.parallelconsumer.state.WorkManager.shouldThrottle(WorkManager.java:227)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.shouldThrottle(BrokerPollSystem.java:329)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.managePauseOfSubscription(BrokerPollSystem.java:304)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.checkStateForPausingSubscriptions(BrokerPollSystem.java:217)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:196)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.handlePoll(BrokerPollSystem.java:160)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.controlLoop(BrokerPollSystem.java:136)
        ... 4 more

2024-08-21 23:40:56:862 +0000 [pc-broker-poll] ERROR io.confluent.parallelconsumer.internal.BrokerPollSystem - Unknown error
java.util.ConcurrentModificationException
        at java.base/java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1486)
        at java.base/java.util.TreeMap$KeyIterator.next(TreeMap.java:1540)
        at io.confluent.parallelconsumer.state.ShardManager.getNumberOfFailedWorkReadyToBeRetried(ShardManager.java:318)
        at io.confluent.parallelconsumer.state.ShardManager.getNumberOfWorkQueuedInShardsAwaitingSelection(ShardManager.java:142)
        at io.confluent.parallelconsumer.state.WorkManager.getNumberOfWorkQueuedInShardsAwaitingSelection(WorkManager.java:255)
        at io.confluent.parallelconsumer.state.WorkManager.isSufficientlyLoaded(WorkManager.java:235)
        at io.confluent.parallelconsumer.state.WorkManager.shouldThrottle(WorkManager.java:227)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.shouldThrottle(BrokerPollSystem.java:329)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.managePauseOfSubscription(BrokerPollSystem.java:304)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.checkStateForPausingSubscriptions(BrokerPollSystem.java:217)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:196)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.handlePoll(BrokerPollSystem.java:160)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.controlLoop(BrokerPollSystem.java:136)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
2024-08-21 23:40:56:899 +0000 [pc-control] ERROR io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor - Error from poll control thread, will attempt controlled shutdown, then rethrow. Error: Error in BrokerPollSystem system.
io.confluent.parallelconsumer.internal.InternalRuntimeException: Error in BrokerPollSystem system.
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.supervise(BrokerPollSystem.java:117)
        at io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.controlLoop(AbstractParallelEoSStreamProcessor.java:865)
        at io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.lambda$supervisorLoop$9(AbstractParallelEoSStreamProcessor.java:799)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.supervise(BrokerPollSystem.java:115)
        ... 6 more
Caused by: java.util.ConcurrentModificationException
        at java.base/java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1486)
        at java.base/java.util.TreeMap$KeyIterator.next(TreeMap.java:1540)
        at io.confluent.parallelconsumer.state.ShardManager.getNumberOfFailedWorkReadyToBeRetried(ShardManager.java:318)
        at io.confluent.parallelconsumer.state.ShardManager.getNumberOfWorkQueuedInShardsAwaitingSelection(ShardManager.java:142)
        at io.confluent.parallelconsumer.state.WorkManager.getNumberOfWorkQueuedInShardsAwaitingSelection(WorkManager.java:255)
        at io.confluent.parallelconsumer.state.WorkManager.isSufficientlyLoaded(WorkManager.java:235)
        at io.confluent.parallelconsumer.state.WorkManager.shouldThrottle(WorkManager.java:227)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.shouldThrottle(BrokerPollSystem.java:329)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.managePauseOfSubscription(BrokerPollSystem.java:304)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.checkStateForPausingSubscriptions(BrokerPollSystem.java:217)
        at io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:196)
                                
@sangreal
Copy link
Contributor Author

I will draft a pr for this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants