gatling-kafka-plugin
gatling-kafka-plugin copied to clipboard
Scenario / Runner doesn't shut down
I'm running your example but the process doesn't shut down.
Log:
Simulation simulations.BasicSimulation started...
17:26:06.173 [WARN ] o.a.k.s.i.m.ClientMetrics - Error while loading kafka-streams-version.properties
java.lang.NullPointerException: inStream parameter is null
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at java.base/java.util.Properties.load(Properties.java:407)
at org.apache.kafka.streams.internals.metrics.ClientMetrics.<clinit>(ClientMetrics.java:53)
at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:894)
at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:856)
at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:826)
at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:738)
at ru.tinkoff.gatling.kafka.client.TrackersPool.$anonfun$tracker$1(TrackersPool.scala:65)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
at ru.tinkoff.gatling.kafka.client.TrackersPool.tracker(TrackersPool.scala:38)
at ru.tinkoff.gatling.kafka.actions.KafkaRequestReplyAction.$anonfun$publishAndLogMessage$1(KafkaRequestReplyAction.scala:92)
at ru.tinkoff.gatling.kafka.actions.KafkaRequestReplyAction.$anonfun$publishAndLogMessage$1$adapted(KafkaRequestReplyAction.scala:86)
at ru.tinkoff.gatling.kafka.client.KafkaSender$Impl.$anonfun$send$2(KafkaSender.scala:24)
at ru.tinkoff.gatling.kafka.client.KafkaSender$Impl.$anonfun$send$2$adapted(KafkaSender.scala:23)
at scala.concurrent.impl.Promise$Transformation.run$$$capture(Promise.scala:484)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala)
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:833)
================================================================================
2022-12-22 17:26:10 5s elapsed
---- Requests ------------------------------------------------------------------
> Global (OK=0 KO=0 )
---- Basic ---------------------------------------------------------------------
[--------------------------------------------------------------------------] 0%
waiting: 0 / active: 5 / done: 0
================================================================================
================================================================================
2022-12-22 17:26:11 5s elapsed
---- Requests ------------------------------------------------------------------
> Global (OK=0 KO=5 )
> ReqRep (OK=0 KO=5 )
---- Errors --------------------------------------------------------------------
> Reply timeout after 5000 ms 5 (100,0%)
---- Basic ---------------------------------------------------------------------
[##########################################################################]100%
waiting: 0 / active: 0 / done: 5
================================================================================
Simulation simulations.BasicSimulation completed in 5 seconds
Parsing log file(s)...
Parsing log file(s) done
Generating reports...
================================================================================
---- Global Information --------------------------------------------------------
> request count 5 (OK=0 KO=5 )
> min response time 5073 (OK=- KO=5073 )
> max response time 5073 (OK=- KO=5073 )
> mean response time 5073 (OK=- KO=5073 )
> std deviation 0 (OK=- KO=0 )
> response time 50th percentile 5073 (OK=- KO=5073 )
> response time 75th percentile 5073 (OK=- KO=5073 )
> response time 95th percentile 5073 (OK=- KO=5073 )
> response time 99th percentile 5073 (OK=- KO=5073 )
> mean requests/sec 0.833 (OK=- KO=0.833 )
---- Response Time Distribution ------------------------------------------------
> t < 800 ms 0 ( 0%)
> 800 ms <= t < 1200 ms 0 ( 0%)
> t ≥ 1200 ms 0 ( 0%)
> failed 5 (100%)
---- Errors --------------------------------------------------------------------
> Reply timeout after 5000 ms 5 (100,0%)
================================================================================
Reports generated in 0s.
Please open the following file: file:///g:/kafka/results/basicsimulation-20221222162605632/index.html
Thread dump:
"gatling-test-cc248dee-9973-4342-95b8-a8f5caea8cc3-1b04f9e4-94f5-4b40-b078-3b34cbac93d5-StreamThread-1@7471" prio=5 tid=0x38 nid=NA runnable
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WEPoll.wait(WEPoll.java:-1)
at sun.nio.ch.WEPollSelectorImpl.doSelect(WEPollSelectorImpl.java:111)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:129)
- locked <0x2167> (a sun.nio.ch.WEPollSelectorImpl)
- locked <0x2168> (a sun.nio.ch.Util$2)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
at org.apache.kafka.common.network.Selector.select(Selector.java:873)
at org.apache.kafka.common.network.Selector.poll(Selector.java:465)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:560)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:280)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:251)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollForFetches(KafkaConsumer.java:1311)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1247)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1220)
at org.apache.kafka.streams.processor.internals.StreamThread.pollRequests(StreamThread.java:969)
at org.apache.kafka.streams.processor.internals.StreamThread.pollPhase(StreamThread.java:917)
at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:735)
at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:588)
at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:550)
"kafka-producer-network-thread | producer-1@5989" daemon prio=5 tid=0x23 nid=NA runnable
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WEPoll.wait(WEPoll.java:-1)
at sun.nio.ch.WEPollSelectorImpl.doSelect(WEPollSelectorImpl.java:111)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:129)
- locked <0x2161> (a sun.nio.ch.WEPollSelectorImpl)
- locked <0x2162> (a sun.nio.ch.Util$2)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
at org.apache.kafka.common.network.Selector.select(Selector.java:873)
at org.apache.kafka.common.network.Selector.poll(Selector.java:465)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:560)
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:328)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:243)
at java.lang.Thread.run(Thread.java:833)
"kafka-admin-client-thread | gatling-test-cc248dee-9973-4342-95b8-a8f5caea8cc3-1b04f9e4-94f5-4b40-b078-3b34cbac93d5-admin@7299" daemon prio=5 tid=0x36 nid=NA runnable
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WEPoll.wait(WEPoll.java:-1)
at sun.nio.ch.WEPollSelectorImpl.doSelect(WEPollSelectorImpl.java:111)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:129)
- locked <0x2163> (a sun.nio.ch.WEPollSelectorImpl)
- locked <0x2164> (a sun.nio.ch.Util$2)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
at org.apache.kafka.common.network.Selector.select(Selector.java:873)
at org.apache.kafka.common.network.Selector.poll(Selector.java:465)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:560)
at org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.processRequests(KafkaAdminClient.java:1415)
at org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.run(KafkaAdminClient.java:1346)
at java.lang.Thread.run(Thread.java:833)
"kafka-producer-network-thread | gatling-test-cc248dee-9973-4342-95b8-a8f5caea8cc3-1b04f9e4-94f5-4b40-b078-3b34cbac93d5-StreamThread-1-producer@7396" daemon prio=5 tid=0x37 nid=NA runnable
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WEPoll.wait(WEPoll.java:-1)
at sun.nio.ch.WEPollSelectorImpl.doSelect(WEPollSelectorImpl.java:111)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:129)
- locked <0x2165> (a sun.nio.ch.WEPollSelectorImpl)
- locked <0x2166> (a sun.nio.ch.Util$2)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
at org.apache.kafka.common.network.Selector.select(Selector.java:873)
at org.apache.kafka.common.network.Selector.poll(Selector.java:465)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:560)
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:328)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:243)
at java.lang.Thread.run(Thread.java:833)
"gatling-test-cc248dee-9973-4342-95b8-a8f5caea8cc3-1b04f9e4-94f5-4b40-b078-3b34cbac93d5-CleanupThread@7481" daemon prio=5 tid=0x39 nid=NA waiting
java.lang.Thread.State: WAITING
at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.lang.Thread.run(Thread.java:833)
"Common-Cleaner@8542" daemon prio=8 tid=0x15 nid=NA waiting
java.lang.Thread.State: WAITING
at java.lang.Object.wait(Object.java:-1)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
at jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:140)
at java.lang.Thread.run(Thread.java:833)
at jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:162)
"kafka-coordinator-heartbeat-thread | gatling-test-cc248dee-9973-4342-95b8-a8f5caea8cc3@7508" daemon prio=5 tid=0x3a nid=NA waiting
java.lang.Thread.State: WAITING
at java.lang.Object.wait(Object.java:-1)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$HeartbeatThread.run(AbstractCoordinator.java:1485)
"Reference Handler@8538" daemon prio=10 tid=0x2 nid=NA runnable
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(Reference.java:-1)
at java.lang.ref.Reference.processPendingReferences(Reference.java:253)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:215)
"Finalizer@8539" daemon prio=8 tid=0x3 nid=NA waiting
java.lang.Thread.State: WAITING
at java.lang.Object.wait(Object.java:-1)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:172)
"Signal Dispatcher@8540" daemon prio=9 tid=0x4 nid=NA runnable
java.lang.Thread.State: RUNNABLE
"Attach Listener@8541" daemon prio=5 tid=0x5 nid=NA runnable
java.lang.Thread.State: RUNNABLE
"Notification Thread@669" daemon prio=9 tid=0x19 nid=NA runnable
java.lang.Thread.State: RUNNABLE
"DestroyJavaVM@8222" prio=5 tid=0x6b nid=NA runnable
java.lang.Thread.State: RUNNABLE
Any help would be appreciated.
Hi @simonstratmann, the issue could be resolved if you execute the test (or use the plugin) via sbt, without GatlingRunner.