If you are asking about a problem you are experiencing, please use the following template, as it will help us help you. If you have a different problem, please delete all of this text
TIP 1: select at least one tag that further categorizes your topic. For example server
for APM Server related questions, java
for questions regarding the Elastic APM Java agent, or ui
for questions about the APM App within Kibana.
TIP 2: Check out the troubleshooting guide first. Not only will it help you to resolve common problems faster but it also explains in more detail which information we need before we can properly help you.
APM Server version: 8.10.4
APM Agent language and version: Java 17
Browser version:
Original install method (e.g. download page, yum, deb, from source, etc.) and version:
Fresh install or upgraded from other version?
Is there anything special in your setup? For example, are you using the Logstash or Kafka outputs? Are you using a load balancer in front of the APM Servers? Have you changed index pattern, generated custom templates, changed agent configuration etc.
Description of the problem including expected versus actual behavior. Please include screenshots (if relevant):
We are using Java APM Agent version 1.43.0 in a Spring boot Webflux application. The application is run in a container in K8s as POD. The application uses spring boot actuators. The health check endpoints are exposed as //health/readiness and /health/liveness.
On a periodic basis we see a dump in the application's pod log. The stack trace is attached below.
note: The webflux application does not use the annotation - @EnableWebFlux
Could you let us know if there is any missing configuration which is causing this periodic exception.
The APM Java agent is attached to the application using the java code
ElasticApmAttacher.attach();
Provide logs and/or server output (if relevant):
||at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122)|
|---|---|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)|
||at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)|
||at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)|
||at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071)|
||at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onComplete(TracedSubscriber.java:141)|
||at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:847)|
||at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:609)|
||at reactor.core.publisher.FluxFlatMap$FlatMapMain.innerComplete(FluxFlatMap.java:895)|
||at reactor.core.publisher.FluxFlatMap$FlatMapInner.onComplete(FluxFlatMap.java:998)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onComplete(TracedSubscriber.java:141)|
||at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:294)|
||at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:474)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.onNext(MonoSubscribeOn.java:146)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)|
||at reactor.core.publisher.MonoCallable$MonoCallableSubscription.request(MonoCallable.java:156)|
||at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.trySchedule(MonoSubscribeOn.java:189)|
||at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.onSubscribe(MonoSubscribeOn.java:134)|
||at co.elastic.apm.agent.reactor.TracedSubscriber.onSubscribe(TracedSubscriber.java:85)|
||at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:48)|
||at reactor.core.publisher.Mono.subscribe(Mono.java:4495)|
||at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126)|
||at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)|
||at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)|
||at java.base/java.util.concurrent.FutureTask.run(Unknown Source)|
||at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)|
||at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)|
||at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)|
||at java.base/java.lang.Thread.run(Unknown Source)|