[
https://issues.apache.org/jira/browse/CAMEL-12722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitry Volodin closed CAMEL-12722.
----------------------------------
Resolution: Not A Bug
[~michael992], yes. As Kafka is not thread safe by it's nature,Seda component
provides asynchronous messages are exchanged and and consumers are invoked in a
separate thread from the producer in case of manual commit in separate thread
the java.util.ConcurrentModificationException could occurs. I'm closing this
issue with No A Bug resolution.
> java.util.ConcurrentModificationException: KafkaConsumer is not safe for
> multi-threaded access
> ----------------------------------------------------------------------------------------------
>
> Key: CAMEL-12722
> URL: https://issues.apache.org/jira/browse/CAMEL-12722
> Project: Camel
> Issue Type: Bug
> Components: camel-kafka
> Affects Versions: 2.22.0
> Reporter: michael elbaz
> Priority: Major
>
> I got an exception when i try to use manual commit on camel kafka component
>
> {code:java}
> from("kafka:{{kafka.hostname}}:{{kafka.port}}?topic={{kafka.topic}}&groupId={{kafka.consumer.groupid}}&autoCommitEnable=false&allowManualCommit=true")
> .process(new Processor() {
> @Override
> public void process(Exchange exchange) throws Exception {
> KafkaManualCommit manual =
>
> exchange.getIn().getHeader(KafkaConstants.MANUAL_COMMIT,
> KafkaManualCommit.class);
> manual.commitSync();
> }
> }).to("...")
> {code}
> The exception
> {code:java}
> Trace: java.util.ConcurrentModificationException: KafkaConsumer is not safe
> for multi-threaded access
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.acquire(KafkaConsumer.java:1824)
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.acquireAndEnsureOpen(KafkaConsumer.java:1808)
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.commitSync(KafkaConsumer.java:1255)
> at
> org.apache.camel.component.kafka.DefaultKafkaManualCommit.commitOffset(DefaultKafkaManualCommit.java:60)
> at
> org.apache.camel.component.kafka.DefaultKafkaManualCommit.commitSync(DefaultKafkaManualCommit.java:51)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)