gatling-kafka-plugin icon indicating copy to clipboard operation
gatling-kafka-plugin copied to clipboard

Scenario / Runner doesn't shut down

Open simonstratmann opened this issue 2 years ago • 1 comments

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.

simonstratmann avatar Dec 22 '22 16:12 simonstratmann

Hi @simonstratmann, the issue could be resolved if you execute the test (or use the plugin) via sbt, without GatlingRunner.

3alster avatar Feb 06 '23 09:02 3alster