Commit 0ff7f33c authored by sjaakola's avatar sjaakola Committed by Jan Lindström

10.4-MDEV-29684 Fixes for cluster wide write conflict resolving

The rather recent thd_need_ordering_with() function does not take
high priority transactions' order in consideration. Chaged this
funtion to compare also transaction seqnos and favor earlier transaction.
Reviewed-by: default avatarJan Lindström <jan.lindstrom@mariadb.com>
parent 68cfcf9c
...@@ -5230,8 +5230,9 @@ thd_need_ordering_with(const MYSQL_THD thd, const MYSQL_THD other_thd) ...@@ -5230,8 +5230,9 @@ thd_need_ordering_with(const MYSQL_THD thd, const MYSQL_THD other_thd)
(e.g. InnoDB does it by keeping lock_sys.mutex locked) (e.g. InnoDB does it by keeping lock_sys.mutex locked)
*/ */
if (WSREP_ON && if (WSREP_ON &&
wsrep_thd_is_BF(const_cast<THD *>(thd), false) && wsrep_thd_is_BF(thd, false) &&
wsrep_thd_is_BF(const_cast<THD *>(other_thd), false)) wsrep_thd_is_BF(other_thd, false) &&
wsrep_thd_order_before(thd, other_thd))
return 0; return 0;
#endif /* WITH_WSREP */ #endif /* WITH_WSREP */
rgi= thd->rgi_slave; rgi= thd->rgi_slave;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment