1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Refs: MW-252

- if wsrep_on==OFF, unlock tables would resume provider even though it was not passed
  in FTWRL processing. This is fixed in this patch.
This commit is contained in:
sjaakola
2016-03-01 10:56:21 +02:00
committed by Nirbhay Choubey
parent 8ec50ebda3
commit a03c45fa98

View File

@@ -1069,16 +1069,19 @@ void Global_read_lock::unlock_global_read_lock(THD *thd)
thd->mdl_context.release_lock(m_mdl_blocks_commits_lock);
m_mdl_blocks_commits_lock= NULL;
#ifdef WITH_WSREP
wsrep_locked_seqno= WSREP_SEQNO_UNDEFINED;
wsrep->resume(wsrep);
if (!wsrep_desync && !wsrep_node_is_donor())
if (WSREP(thd) || wsrep_node_is_donor())
{
int ret = wsrep->resync(wsrep);
if (ret != WSREP_OK)
wsrep_locked_seqno= WSREP_SEQNO_UNDEFINED;
wsrep->resume(wsrep);
if (!wsrep_desync && !wsrep_node_is_donor())
{
WSREP_WARN("resync failed %d for FTWRL: db: %s, query: %s", ret,
(thd->db ? thd->db : "(null)"), thd->query());
DBUG_VOID_RETURN;
int ret = wsrep->resync(wsrep);
if (ret != WSREP_OK)
{
WSREP_WARN("resync failed %d for FTWRL: db: %s, query: %s", ret,
(thd->db ? thd->db : "(null)"), thd->query());
DBUG_VOID_RETURN;
}
}
}
#endif /* WITH_WSREP */