"Can't you join the I_S.PROCESSLIST and I_S.THREADPOOL_QUEUES on ID column to get the information"
Well, I simply expect that when the process list tells me that a client is sleeping/idle, that it actually is. Or that there would at least be a hint that there may be additional information elsewhere that needs to be taken into account.
Right now I'd continue to claim that PROCESSLIST is simply returning wrong, misleading information.
"threadpool does not pre-read anything from the client socket. it only gets notified that client has sent something."
Ok, but at least it does know that the client has sent something. So at least some different state than "Sleep" could be shown?
PS: does that mean that even a simple mysql_ping() would not get an immediate response?
Can't you join the I_S.PROCESSLIST and I_S.THREADPOOL_QUEUES on ID column to get the information ?https://mariadb.com/kb/en/library/information-schema-threadpool_queues-table/