Closed rocketraman closed 5 years ago
@e5l I see the 1.2.0 release notes include "Fixed CIO client CPU utilization issue", but no reference to an issue id. Is that a fix for this issue?
Hi @rocketraman, yes the problem shouldn't happen, but the fix is still incomplete. We're expecting proper dispatcher fix from kotlinx.coroutines.
Thanks @e5l . Do you have a link to a big report in coroutines that I can track?
Ktor Version
1.1.3
Ktor Engine Used(client or server and name)
Client, CIO
JVM Version, Operating System and Relevant Context
OpenJDK 64-Bit Server VM (11.0.1+13-Debian-2 mixed mode, sharing) Debian buster/sid (openjdk:11 from https://hub.docker.com/_/openjdk/)
Feedback
Randomly, my process containing a ktor CIO client will show 100% CPU usage. Upon investigation of thread-level CPU usage, I can see that this ktor thread is in a tight loop:
Here is the full thread dump, for reference:
And the output of the top 3 threads from
top -n 1 -H -p <pid>
:I have a couple of different microservices that are failing in exactly the same way, with very different client-side code. This is the simpler code of the two cases:
I don't have a reproducer for this -- it seems to happen randomly, but almost always happens eventually.
Possibly related GitHub issue, but that issue provides few thread details so hard to say whether its the same or not: https://github.com/ktorio/ktor/issues/1018.