Fix for PXC-810 PXC-843
PXC-810: PXC 5.7: segfault in GCommConn::close in galera_var_node_address
PXC-843: Joiner hangs after failed SST
Issue:
If an SST fails due to a DML (such as OPTIMIZE or ALTER TABLE), which is run as the SST
is running, then the joiner node can hang (PXC-843). This is due to the applier
thread picking a transaction off of the recv_q and attempting to apply it, even though
the thread has been killed.
This exposed PXC-810, which would then happen while testing for PXC-843.
Solution:
For PXC-843, if the SST has failed, then we just drop any transactions that hav
been received. If the SST has failed, the node should be shutting down anyway.
For PXC-810, we do an additional check within the critical section to avoid the
null pointer dereference.
commit 6ea7d1786122ebb 7832611aa96996a 68332a29c7
Author: Kenn Takara <email address hidden>
Date: Thu Aug 10 13:49:09 2017 -1000
Fix for PXC-810 PXC-843 var_node_ address
PXC-810: PXC 5.7: segfault in GCommConn::close in galera_
PXC-843: Joiner hangs after failed SST
Issue:
If an SST fails due to a DML (such as OPTIMIZE or ALTER TABLE), which is run as the SST
is running, then the joiner node can hang (PXC-843). This is due to the applier
thread picking a transaction off of the recv_q and attempting to apply it, even though
the thread has been killed.
This exposed PXC-810, which would then happen while testing for PXC-843.
Solution:
For PXC-843, if the SST has failed, then we just drop any transactions that hav
been received. If the SST has failed, the node should be shutting down anyway.
For PXC-810, we do an additional check within the critical section to avoid the
null pointer dereference.