We have a service with a Kafka consumer. The consumer is implemented with Lagoms out-of-the-box tools. Its concern is to call a 3rd party REST API. Every time when a call fails causing the consumer stream reset we have warning about Kafka. For example
2019-07-12T16:01:59.861+0300 [e[31merrore[0m] akka.actor.OneForOneStrategy [sourceThread=foosrv-service-akka.actor.default-dispatcher-16, akkaTimestamp=13:01:59.860UTC, akkaSource=akka://foosrv-service/user/KafkaBackoffConsumer1-foosrv-events-topic/KafkaConsumerActor1-foosrv-events-topic, sourceActorSystem=foosrv-service] - akka.pattern.CircuitBreakerOpenException: Circuit Breaker is open; calls are failing fast
java.util.concurrent.CompletionException: akka.pattern.CircuitBreakerOpenException: Circuit Breaker is open; calls are failing fast
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
at java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:617)
at java.util.concurrent.CompletableFuture.thenApplyAsync(CompletableFuture.java:1988)
at scala.concurrent.java8.FuturesConvertersImpl$CF.thenApply(FutureConvertersImpl.scala:27)
at scala.concurrent.java8.FuturesConvertersImpl$CF.thenApply(FutureConvertersImpl.scala:18)
at com.lightbend.lagom.javadsl.client.CircuitBreakingServiceLocator.lambda$null$0(CircuitBreakingServiceLocator.java:62)
at java.util.Optional.map(Optional.java:215)
at com.lightbend.lagom.javadsl.client.CircuitBreakingServiceLocator.lambda$doWithServiceImpl$2(CircuitBreakingServiceLocator.java:62)
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:561)
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:580)
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
at java.lang.Thread.run(Thread.java:748)
Caused by: akka.pattern.CircuitBreakerOpenException: Circuit Breaker is open; calls are failing fast
2019-07-12T16:02:06.200+0300 [e[33mwarne[0m] org.apache.kafka.common.utils.AppInfoParser [] - Error registering AppInfo mbean
javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=foosrv-1
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
at org.apache.kafka.common.utils.AppInfoParser.registerAppInfo(AppInfoParser.java:62)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:797)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:617)
at akka.kafka.ConsumerSettings$.createKafkaConsumer(ConsumerSettings.scala:171)
at akka.kafka.ConsumerSettings$.$anonfun$apply$3(ConsumerSettings.scala:89)
at akka.kafka.ConsumerSettings.createKafkaConsumer(ConsumerSettings.scala:526)
at akka.kafka.internal.KafkaConsumerActor.preStart(KafkaConsumerActor.scala:320)
at akka.actor.Actor.aroundPreStart(Actor.scala:550)
at akka.actor.Actor.aroundPreStart$(Actor.scala:550)
at akka.kafka.internal.KafkaConsumerActor.aroundPreStart(KafkaConsumerActor.scala:142)
at akka.actor.ActorCell.create(ActorCell.scala:674)
at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:545)
at akka.actor.ActorCell.systemInvoke(ActorCell.scala:567)
at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:293)
at akka.dispatch.Mailbox.run(Mailbox.scala:228)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Can we tune it to prevent those warnings?
UPD. The consumer group-id is set explicitly and it is unique per JVM