kuzzleio / sdk-jvm

Official Kotlin SDK for Kuzzle
https://kuzzle.io
1 stars 0 forks source link

High CPU usage #86

Open jlelong-onepoint opened 4 months ago

jlelong-onepoint commented 4 months ago

Current Behavior

Process using Kuzzle SDK is consuming every affected CPU

Thread dump of process have several hundreds of :

"Thread-555" #932 [977] daemon prio=5 os_prio=0 cpu=24051.01ms elapsed=3242.14s tid=0x00007fc4841e3a90 nid=977 runnable [0x00007fc351afd000]
java.lang.Thread.State: RUNNABLE
at io.kuzzle.sdk.protocol.WebSocket$connect$1$1.invoke(WebSocket.kt:184)
at io.kuzzle.sdk.protocol.WebSocket$connect$1$1.invoke(WebSocket.kt:183)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)

and hundreds of

"Thread-554" #931 [976] daemon prio=5 os_prio=0 cpu=23450.52ms elapsed=3301.02s tid=0x00007fc4841e0f20 nid=976 runnable [0x00007fc351bfd000]
java.lang.Thread.State: RUNNABLE
at io.kuzzle.sdk.protocol.WebSocket$connect$block$1$1.invoke(WebSocket.kt:120)
at io.kuzzle.sdk.protocol.WebSocket$connect$block$1$1.invoke(WebSocket.kt:117)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)

Steps to Reproduce

Connect to a Kuzzle with autoReconnect parameter set to true

 WebSocket ws = new WebSocket("localhost");
 var kuzzle = new Kuzzle(ws);
 kuzzle.connect();

Start and stop kuzzle and watch CPU usage

Context (Environment)

I'm using the 1.3.3 version of SDK on a Temurin 21

etrousset commented 3 months ago

This issue has been triaged and will be analyzed by the team. Thanx for the feedback

Jira issue: KZLPRD-338