diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2020-07-28 15:59:38 +0200 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2020-07-30 10:17:45 +0200 |
commit | 71015d844e3f25a0c4eada9827a1dad464a4fdce (patch) | |
tree | 559fad43bb05477098b15df4476c5ccfd3135c0d /vio/vio_priv.h | |
parent | 34f2be3b296fdd5933687eda9c3ef3ba9f707261 (diff) | |
download | mariadb-git-71015d844e3f25a0c4eada9827a1dad464a4fdce.tar.gz |
MDEV-21101 unexpected wait_timeout with pool-of-threads
Due to restricted size of the threadpool, execution of client queries can
be delayed (queued) for a while. This delay was interpreted as client
inactivity, and connection is closed, if client idle time + queue time
exceeds wait_timeout.
But users did not expect queue time to be included into wait_timeout.
This patch changes the behavior. We don't close connection anymore,
if there is some unread data present on connection,
even if wait_timeout is exceeded. Unread data means that client
was not idle, it sent a query, which we did not have time to process yet.
Diffstat (limited to 'vio/vio_priv.h')
-rw-r--r-- | vio/vio_priv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vio/vio_priv.h b/vio/vio_priv.h index 71a0468e226..6780ec5664a 100644 --- a/vio/vio_priv.h +++ b/vio/vio_priv.h @@ -33,6 +33,7 @@ my_bool vio_is_connected_pipe(Vio *vio); int vio_close_pipe(Vio * vio); int cancel_io(HANDLE handle, DWORD thread_id); int vio_shutdown_pipe(Vio *vio,int how); +uint vio_pending_pipe(Vio* vio); #endif #ifdef HAVE_SMEM |