client connections are closed unconditionally before generating SST request
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
MySQL patches by Codership | Status tracked in 5.6 | |||||
5.5 |
Fix Committed
|
Low
|
Teemu Ollakka | |||
5.6 |
Fix Released
|
Low
|
Teemu Ollakka | |||
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC | Status tracked in 5.6 | |||||
5.5 |
Fix Released
|
Undecided
|
Unassigned | |||
5.6 |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
In wsrep_view_
Corresponding code:
WSREP_WARN("Gap in state sequence. Need state transfer.");
/* After that wsrep will call wsrep_sst_prepare. */
/* keep ready flag 0 until we receive the snapshot */
wsrep_
/* Close client connections to ensure that they don't interfere
* with SST */
WSREP_
wsrep_
Update: Connections must closed, or at least all ongoing transactions must be aborted, for mysqldump SST.
description: | updated |
Agree,
a) This also breaks wsrep_sst_ donor_rejects_ queries since even with that ON, client connections are closed.
b) Client connections are closed even otherwise in sst_reject_queries (called by wsrep_sst_ donate_ cb). However, in that it is " wsrep_close_ client_ connections( TRUE);" .
Next, the questions before removing the above wsrep_close_ client_ connections:
a) Is IST fully conformable to a heavy DML load running in parallel. (since, I presume there are no MDL locks held during IST)
b) Do we now need wsrep_close_ client_ connections( TRUE) in wsrep_reject_ queries than wsrep_close_ client_ connections( FALSE); since otherwise open client connections may overlap with SST.