Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thread Deadlock with proxysql CLuster #3694

Closed
f4rx opened this issue Nov 16, 2021 · 5 comments
Closed

Thread Deadlock with proxysql CLuster #3694

f4rx opened this issue Nov 16, 2021 · 5 comments

Comments

@f4rx
Copy link

f4rx commented Nov 16, 2021

ProxySQL version 2.0.15-20-g32bb92cd_DEBUG, codename Trul (3 Nodes)
Ubuntu 18.04.6 LTS

I have a deadlock of two threads

[Switching to thread 30 (Thread 0x7f851e14f700 (LWP 428))]
#0  0x00007f852bf5b1fd in __lll_lock_wait () from target:/lib/x86_64-linux-gnu/libpthread.so.0
(gdb) where
#0  0x00007f852bf5b1fd in __lll_lock_wait () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f852bf54025 in pthread_mutex_lock () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x000055f4eca4e470 in ProxySQL_Cluster_Nodes::dump_table_proxysql_servers (this=0x7f852944ac40) at ProxySQL_Cluster.cpp:1569
#3  0x000055f4ec9fae12 in ProxySQL_Cluster::dump_table_proxysql_servers (this=0x7f852944ac00) at ../include/ProxySQL_Cluster.hpp:160
#4  0x000055f4ec9f7f0c in ProxySQL_Admin::save_proxysql_servers_runtime_to_database (this=0x7f8529449200, _runtime=true) at ProxySQL_Admin.cpp:11191
#5  0x000055f4ec9b8810 in ProxySQL_Admin::GenericRefreshStatistics (this=0x7f8529449200, query_no_space=0x7f8523358000 "select weight,hostname,port,comment from runtime_proxysql_servers order by weight desc", query_no_space_length=86, admin=true) at ProxySQL_Admin.cpp:2972
#6  0x000055f4ec9ba5c3 in admin_session_handler (sess=0x7f851d713000, _pa=0x7f8529449200, pkt=0x7f851e14cd80) at ProxySQL_Admin.cpp:3497
#7  0x000055f4ec966c35 in MySQL_Session::handler (this=0x7f851d713000) at MySQL_Session.cpp:3119
#8  0x000055f4ec9bfd76 in child_mysql (arg=0x7f8522a0cfb0) at ProxySQL_Admin.cpp:4522
#9  0x00007f852bf516db in start_thread () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f852af2f71f in clone () from target:/lib/x86_64-linux-gnu/libc.so.6
(gdb) thread 5
[Switching to thread 5 (Thread 0x7f852667e700 (LWP 26936))]
#0  0x00007f852bf5b1fd in __lll_lock_wait () from target:/lib/x86_64-linux-gnu/libpthread.so.0
(gdb) where
#0  0x00007f852bf5b1fd in __lll_lock_wait () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f852bf54025 in pthread_mutex_lock () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x000055f4ec9c16ba in ProxySQL_Admin::mysql_servers_wrlock (this=0x7f8529449200) at ProxySQL_Admin.cpp:4904
#3  0x000055f4eca4aac1 in ProxySQL_Cluster::pull_mysql_servers_from_peer (this=0x7f852944ac00) at ProxySQL_Cluster.cpp:861
#4  0x000055f4eca444a0 in ProxySQL_Node_Entry::set_checksums (this=0x7f85271d5280, _r=0x0) at ProxySQL_Cluster.cpp:541
#5  0x000055f4eca4caa7 in ProxySQL_Cluster_Nodes::Update_Node_Checksums (this=0x7f852944ac40, _h=0x7f852942c1d0 "10.250.1.81",
    _p=6032, _r=0x0) at ProxySQL_Cluster.cpp:1183
#6  0x000055f4eca4ec72 in ProxySQL_Cluster::Update_Node_Checksums (this=0x7f852944ac00, _h=0x7f852942c1d0 "10.250.1.81", _p=6032,
    _r=0x0) at ../include/ProxySQL_Cluster.hpp:157
#7  0x000055f4eca421ec in ProxySQL_Cluster_Monitor_thread (args=0x7f852946a900) at ProxySQL_Cluster.cpp:158
#8  0x00007f852bf516db in start_thread () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007f852af2f71f in clone () from target:/lib/x86_64-linux-gnu/libc.so.6
(gdb) thread 5
[Switching to thread 5 (Thread 0x7f852667e700 (LWP 26936))]
#0  0x00007f852bf5b1fd in __lll_lock_wait () from target:/lib/x86_64-linux-gnu/libpthread.so.0
(gdb) frame 1
#1  0x00007f852bf54025 in pthread_mutex_lock () from target:/lib/x86_64-linux-gnu/libpthread.so.0
(gdb) info reg
rax            0xfffffffffffffe00	-512
rbx            0x0	0
rcx            0x7f852bf5b1fd	140209944900093
rdx            0x0	0
rsi            0x80	128
rdi            0x7f8529449278	140209899737720
rbp            0x7f852667bc30	0x7f852667bc30
rsp            0x7f852667bb90	0x7f852667bb90
r8             0x7f8529449278	140209899737720
r9             0x0	0
r10            0x7f852667b680	140209851709056
r11            0x202	514
r12            0x7f852667c280	140209851712128
r13            0x0	0
r14            0x7f852946a900	140209899874560
r15            0x7fffceb81770	140736661559152
rip            0x7f852bf54025	0x7f852bf54025 <pthread_mutex_lock+85>
eflags         0x202	[ IF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
(gdb) p *(pthread_mutex_t*)0x7f8529449278
$6 = {__data = {__lock = 2, __count = 0, __owner = 428, __nusers = 1, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0,
      __next = 0x0}}, __size = "\002\000\000\000\000\000\000\000\254\001\000\000\001", '\000' <repeats 26 times>, __align = 2}

(gdb) thread 30
[Switching to thread 30 (Thread 0x7f851e14f700 (LWP 428))]
#0  0x00007f852bf5b1fd in __lll_lock_wait () from target:/lib/x86_64-linux-gnu/libpthread.so.0
(gdb) frame 1
#1  0x00007f852bf54025 in pthread_mutex_lock () from target:/lib/x86_64-linux-gnu/libpthread.so.0
(gdb) info reg
rax            0xfffffffffffffe00	-512
rbx            0x7f8523379b60	140209798224736
rcx            0x7f852bf5b1fd	140209944900093
rdx            0x0	0
rsi            0x80	128
rdi            0x7f852944ac40	140209899744320
rbp            0x7f851e14bf30	0x7f851e14bf30
rsp            0x7f851e14be20	0x7f851e14be20
r8             0x7f852944ac40	140209899744320
r9             0x0	0
r10            0x7f85233dd35c	140209798632284
r11            0x202	514
r12            0x7f851e14d280	140209712059008
r13            0x0	0
r14            0x7f8522a0cfb0	140209788342192
r15            0x7f852717d0b0	140209863250096
rip            0x7f852bf54025	0x7f852bf54025 <pthread_mutex_lock+85>
eflags         0x202	[ IF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
(gdb) p *(pthread_mutex_t*)0x7f852944ac40
$7 = {__data = {__lock = 2, __count = 0, __owner = 26936, __nusers = 1, __kind = 0, __spins = 0, __elision = 0, __list = {
      __prev = 0x0, __next = 0x0}}, __size = "\002\000\000\000\000\000\000\000\070i\000\000\001", '\000' <repeats 26 times>,
  __align = 2}

pt-pmp:

    162 __lll_lock_wait,pthread_mutex_lock,admin_session_handler,MySQL_Session::handler,child_mysql,start_thread,clone
      4 poll,MySQL_Thread::run,mysql_worker_thread_func,start_thread,clone
      4 epoll_wait,MySQL_Thread::run,mysql_worker_thread_func_idles,start_thread,clone
      2 pthread_cond_wait,wqueue::remove,ConsumerThread::run,runThread,start_thread,clone
      1 pthread_cond_wait,wqueue::remove,HGCU_thread_run,void*,std::__invoke<*>,std::thread::_Invoker::_M_invoke,std::thread::_Invoker::operator,std::thread::_State_impl::_M_run,libstdc++::??,start_thread,clone
      1 poll,poll(poll2.h:46),poll_poll(poll2.h:46),ev_run,GTID_syncer_run,void*,std::__invoke<*>,std::thread::_Invoker::_M_invoke,std::thread::_Invoker::operator,std::thread::_State_impl::_M_run,libstdc++::??,start_thread,clone
      1 poll,admin_main_loop,start_thread,clone
      1 nanosleep,usleep,main
      1 nanosleep,usleep,Query_Cache::purgeHash_thread,mysql_shared_query_cache_funct,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::run,void*,std::__invoke<*,MySQL_Monitor*>,std::thread::_Invoker::_M_invoke,std::thread::_Invoker::operator,std::thread::_State_impl::_M_run,libstdc++::??,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_replication_lag,monitor_replication_lag_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_read_only,monitor_read_only_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_ping,monitor_ping_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_group_replication,monitor_group_replication_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_galera,monitor_galera_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_connect,monitor_connect_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_aws_aurora,monitor_aws_aurora_pthread,start_thread,clone
      1 __lll_lock_wait,pthread_mutex_lock,ProxySQL_Cluster_Nodes::dump_table_proxysql_servers,ProxySQL_Cluster::dump_table_proxysql_servers,ProxySQL_Admin::save_proxysql_servers_runtime_to_database,ProxySQL_Admin::GenericRefreshStatistics,admin_session_handler,MySQL_Session::handler,child_mysql,start_thread,clone
      1 __lll_lock_wait,pthread_mutex_lock,ProxySQL_Cluster_Nodes::Update_Node_Metrics,ProxySQL_Cluster::Update_Node_Metrics,ProxySQL_Cluster_Monitor_thread,start_thread,clone
      1 __lll_lock_wait,pthread_mutex_lock,ProxySQL_Cluster_Nodes::Update_Global_Checksum,ProxySQL_Cluster::Update_Global_Checksum,ProxySQL_Cluster_Monitor_thread,start_thread,clone
      1 __lll_lock_wait,pthread_mutex_lock,ProxySQL_Admin::mysql_servers_wrlock,ProxySQL_Cluster::pull_mysql_servers_from_peer,ProxySQL_Node_Entry::set_checksums,ProxySQL_Cluster_Nodes::Update_Node_Checksums,ProxySQL_Cluster::Update_Node_Checksums,ProxySQL_Cluster_Monitor_thread,start_thread,clone

thread 30 sets lock for mysql_servers_lock and waits mutex
thread 5 sets lock for mutex and waits mysql_servers_lock

We couldn’t describe steps needed to replay the problem. It occurs occaisionally on 3 Nodes cluster when updating settings. https://github.com/percona/pxc_scheduler_handler is used as a scheduler.

@f4rx
Copy link
Author

f4rx commented Nov 17, 2021

how to reproduce:

Docker-compose.yaml
version: '3'

services:

proxysql1:
  container_name: proxysql1
  build: .
  restart: always
  networks:
    proxysql_net:

proxysql2:
  container_name: proxysql2
  build: .
  restart: always
  networks:
    proxysql_net:

networks:
proxysql_net:
  ipam:
    driver: default
Dockerfile
FROM ubuntu:18.04

RUN apt update && apt install -y wget gdb mysql-client iproute2 inetutils-ping
RUN wget https://github.com/sysown/proxysql/releases/download/v2.3.2/proxysql_2.3.2-dbg-ubuntu18_amd64.deb && \
    dpkg -i proxysql_2.3.2-dbg-ubuntu18_amd64.deb

ADD proxysql.cfg /etc/proxysql.cnf

CMD ["/usr/bin/proxysql", "--idle-threads", "-c", "/etc/proxysql.cnf", "-f"]
proxysql.cfg
admin_variables=
{
    admin_credentials="admin:admin;cluster1:clusterpass"
    cluster_username="cluster1"
    cluster_password="clusterpass"
    cluster_check_interval_ms=200
    cluster_check_status_frequency=100
}


proxysql_servers =
(
    {
        hostname="proxysql1"
        port=6032
        weight=100
        comment="proxysql1"
    },
    {
        hostname="proxysql2"
        port=6032
        weight=100
        comment="proxysql2"
    }
)
docker-compose up --build --force-recreate

first console

docker-compose exec proxysql1 bash -c "mysql -h 127.0.0.1 -P 6032 -u admin -padmin -e \"insert into mysql_servers VALUES(1,'127.0.0.1','3306',0,'OFFLINE_SOFT',0,0,0,0,1,0,'bar'); LOAD MYSQL SERVERS TO RUNTIME;\"; while true; do mysql -h 127.0.0.1 -P 6032 -u admin -padmin -e \"update mysql_servers set comment='\${RANDOM}' where hostname='127.0.0.1'; load mysql servers to runtime;\"; echo \"saved \${RANDOM}\"; sleep 1; done"

second console

docker-compose exec proxysql2 bash -c "while true; do timeout 5 mysql -h 127.0.0.1 -P 6032 -u admin -padmin -e 'select weight,hostname,port,comment from runtime_proxysql_servers order by weight' >/dev/null 2>&1 || break ; echo \"saved \${RANDOM}\"; done; echo 'stucked';"

Wait 1 minute

@renecannao
Copy link
Contributor

Hi @f4rx .
Thank you for the report.
I came across a race condition few month ago while working on PR #3305 , but it was a very rare condition
Therefore I am very surprised you managed to reproduce a race condition so easily.

Do you mind trying to reproduce it branch v2.1.2-cluster ?
If it is reproducible also with that branch (where I fixed several race conditions), than I will investigate this further.
Thanks.

Note: branch v2.1.2-cluster introduces new enhancement to Cluster, like the fact that core nodes are now aware of satellite nodes.

@f4rx
Copy link
Author

f4rx commented Nov 22, 2021

The v2.1.2-cluster branch also leads to a hang. However, I catch an error on a working insolation, the example with docker composite does not repeat it. I can send the core file to the mail.

Thread 5 (Thread 0x7f08f787e700 (LWP 21378)):
#0  0x00007f08fd2a1474 in read () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#1  0x000055b48c3e948e in sock_read ()
#2  0x000055b48c3e7e0a in bread_conv ()
#3  0x000055b48c3e6991 in BIO_read ()
#4  0x000055b48c385ab3 in ssl3_read_n ()
#5  0x000055b48c38a78d in ssl3_get_record ()
#6  0x000055b48c387d82 in ssl3_read_bytes ()
#7  0x000055b48c38eaa0 in ssl3_read ()
#8  0x000055b48c397e92 in ssl_read_internal ()
#9  0x000055b48c3980a3 in SSL_read ()
#10 0x000055b48c68c7fe in ma_tls_read (ctls=0x7f08f6cde2a0, buffer=buffer@entry=0x7f08f6cdf740 "\001", length=length@entry=16384) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/secure/openssl.c:729
#11 0x000055b48c67fdf5 in ma_pvio_tls_read (ctls=<optimized out>, buffer=buffer@entry=0x7f08f6cdf740 "\001", length=length@entry=16384) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/ma_tls.c:90
#12 0x000055b48c67f5a6 in ma_pvio_read (pvio=pvio@entry=0x7f08f6c25240, buffer=0x7f08f6cdf740 "\001", length=length@entry=16384) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/ma_pvio.c:250
#13 0x000055b48c67f753 in ma_pvio_cache_read (pvio=0x7f08f6c25240, buffer=buffer@entry=0x7f08f6c16000 "\001\001", length=length@entry=4) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/ma_pvio.c:297
#14 0x000055b48c698f86 in ma_real_read (net=0x7f08f6c01500, complen=complen@entry=0x7f08f787b378) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/ma_net.c:371
#15 0x000055b48c6999ed in ma_net_read (net=net@entry=0x7f08f6c01500) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/ma_net.c:425
#16 0x000055b48c67b0bc in ma_net_safe_read (mysql=mysql@entry=0x7f08f6c01500, is_data_packet=is_data_packet@entry=0x0) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/mariadb_lib.c:205
#17 0x000055b48c67ed0a in mthd_my_read_query_result (mysql=0x7f08f6c01500) at /opt/proxysql/deps/mariadb-client-library/mariadb_client/libmariadb/mariadb_lib.c:2536
#18 0x000055b48c298fac in ProxySQL_Cluster::fetch_and_store (this=0x7f08fa659a80, conn=0x7f08f6c01500, f_query=..., result=0x7f08f787b620) at ProxySQL_Cluster.cpp:1142
#19 0x000055b48c29a017 in ProxySQL_Cluster::pull_mysql_servers_from_peer (this=0x7f08fa659a80) at ProxySQL_Cluster.cpp:1282
#20 0x000055b48c290215 in ProxySQL_Node_Entry::set_checksums (this=0x7f08fa6acfc0, _r=0x7f08f6db2900) at ProxySQL_Cluster.cpp:634
#21 0x000055b48c29f173 in ProxySQL_Cluster_Nodes::Update_Node_Checksums (this=0x7f08fa659ac0, _h=0x7f08fa62c630 "10.250.0.25", _p=6032, _r=0x7f08f6db2900) at ProxySQL_Cluster.cpp:1902
#22 0x000055b48c2a6272 in ProxySQL_Cluster::Update_Node_Checksums (this=0x7f08fa659a80, _h=0x7f08fa62c630 "10.250.0.25", _p=6032, _r=0x7f08f6db2900) at ../include/ProxySQL_Cluster.hpp:290
#23 0x000055b48c28d378 in ProxySQL_Cluster_Monitor_thread (args=0x7f08f85b7c00) at ProxySQL_Cluster.cpp:173
#24 0x00007f08fd2976db in start_thread () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#25 0x00007f08fc27571f in clone () from target:/lib/x86_64-linux-gnu/libc.so.6



Thread 30 (Thread 0x7f08edece700 (LWP 30502)):
#0  0x00007f08fd2a11fd in __lll_lock_wait () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f08fd29a025 in pthread_mutex_lock () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x000055b48c1f31a4 in ProxySQL_Admin::mysql_servers_wrlock (this=0x7f08fa65a500) at ProxySQL_Admin.cpp:5459
#3  0x000055b48c1e91b7 in ProxySQL_Admin::GenericRefreshStatistics (this=0x7f08fa65a500, query_no_space=0x7f08f4446da0 "SELECT writer_hostgroup, backup_writer_hostgroup, reader_hostgroup, offline_hostgroup, active, max_writers, writer_is_also_reader, max_transactions_behind, comment FROM runtime_mysql_group_replication"..., query_no_space_length=211,
    admin=true) at ProxySQL_Admin.cpp:3252
#4  0x000055b48c1eb641 in admin_session_handler (sess=0x7f08f4547600, _pa=0x7f08fa65a500, pkt=0x7f08edecbf60) at ProxySQL_Admin.cpp:3892
#5  0x000055b48c196247 in MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_QUERY___not_mysql (this=0x7f08f4547600, pkt=...) at MySQL_Session.cpp:3197
#6  0x000055b48c197f23 in MySQL_Session::get_pkts_from_client (this=0x7f08f4547600, wrong_pass=@0x7f08edecbee3: false, pkt=...) at MySQL_Session.cpp:3666
#7  0x000055b48c19a569 in MySQL_Session::handler (this=0x7f08f4547600) at MySQL_Session.cpp:4250
#8  0x000055b48c1f1654 in child_mysql (arg=0x7f08f3c0cab0) at ProxySQL_Admin.cpp:5027
#9  0x00007f08fd2976db in start_thread () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f08fc27571f in clone () from target:/lib/x86_64-linux-gnu/libc.so.6

     37 __lll_lock_wait,pthread_mutex_lock,admin_session_handler,MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_QUERY___not_mysql,MySQL_Session::get_pkts_from_client,MySQL_Session::handler,child_mysql,start_thread,clone
      4 poll,MySQL_Thread::run,mysql_worker_thread_func,start_thread,clone
      4 epoll_wait,MySQL_Thread::run,mysql_worker_thread_func_idles,start_thread,clone
      2 pthread_cond_wait,wqueue::remove,ConsumerThread::run,runThread,start_thread,clone
      1 waitpid,waitpid_thread,start_thread,clone
      1 read,sock_read,bread_conv,BIO_read,ssl3_read_n,ssl3_get_record,ssl3_read_bytes,ssl3_read,ssl_read_internal,SSL_read,ma_tls_read(openssl.c:729),ma_pvio_tls_read(ma_tls.c:90),ma_pvio_read(ma_pvio.c:250),ma_pvio_cache_read(ma_pvio.c:297),ma_real_read(ma_net.c:371),ma_net_read(ma_net.c:425),ma_net_safe_read(mariadb_lib.c:205),mthd_my_read_query_result(mariadb_lib.c:2536),ProxySQL_Cluster_Monitor_thread,start_thread,clone
      1 read,sock_read,bread_conv,BIO_read,ssl3_read_n,ssl3_get_record,ssl3_read_bytes,ssl3_read,ssl_read_internal,SSL_read,ma_tls_read(openssl.c:729),ma_pvio_tls_read(ma_tls.c:90),ma_pvio_read(ma_pvio.c:250),ma_pvio_cache_read(ma_pvio.c:297),ma_real_read(ma_net.c:371),ma_net_read(ma_net.c:425),ma_net_safe_read(mariadb_lib.c:205),mthd_my_read_query_result(mariadb_lib.c:2536),ProxySQL_Cluster::fetch_and_store,ProxySQL_Cluster::pull_mysql_servers_from_peer,ProxySQL_Node_Entry::set_checksums,ProxySQL_Cluster_Nodes::Update_Node_Checksums,ProxySQL_Cluster::Update_Node_Checksums,ProxySQL_Cluster_Monitor_thread,start_thread,clone
      1 pthread_cond_wait,wqueue::remove,HGCU_thread_run,void*,std::__invoke<*>,std::thread::_Invoker::_M_invoke,std::thread::_Invoker::operator,std::thread::_State_impl::_M_run,libstdc++::??,start_thread,clone
      1 poll,poll(poll2.h:46),poll_poll(poll2.h:46),ev_run,GTID_syncer_run,void*,std::__invoke<*>,std::thread::_Invoker::_M_invoke,std::thread::_Invoker::operator,std::thread::_State_impl::_M_run,libstdc++::??,start_thread,clone
      1 poll,child_mysql,start_thread,clone
      1 poll,admin_main_loop,start_thread,clone
      1 nanosleep,usleep,main
      1 nanosleep,usleep,Query_Cache::purgeHash_thread,mysql_shared_query_cache_funct,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::run,void*,std::__invoke<*,MySQL_Monitor*>,std::thread::_Invoker::_M_invoke,std::thread::_Invoker::operator,std::thread::_State_impl::_M_run,libstdc++::??,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_replication_lag,monitor_replication_lag_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_read_only,monitor_read_only_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_ping,monitor_ping_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_group_replication,monitor_group_replication_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_galera,monitor_galera_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_connect,monitor_connect_pthread,start_thread,clone
      1 nanosleep,usleep,MySQL_Monitor::monitor_aws_aurora,monitor_aws_aurora_pthread,start_thread,clone
      1 __lll_lock_wait,pthread_mutex_lock,ProxySQL_Cluster_Nodes::Update_Global_Checksum,ProxySQL_Cluster::Update_Global_Checksum,ProxySQL_Cluster_Monitor_thread,start_thread,clone
      1 __lll_lock_wait,pthread_mutex_lock,ProxySQL_Admin::mysql_servers_wrlock,ProxySQL_Admin::GenericRefreshStatistics,admin_session_handler,MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_QUERY___not_mysql,MySQL_Session::get_pkts_from_client,MySQL_Session::handler,child_mysql,start_thread,clone

@balbaev
Copy link

balbaev commented Apr 27, 2022

@renecannao Any updates?

@renecannao
Copy link
Contributor

Closing because this is likely to be already fixed in a lot of rework done on Cluster in the last years

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants