Commit f4ddde06 authored by Monty's avatar Monty

Only apply wsrep_trx_fragment_size to InnoDB tables

MDEV-22617 Galera node crashes when trying to log to slow_log table in
streaming replication mode

Other things:
- Changed name of wsrep_after_row(two arguments) to
  wsrep_after_row_internal(one argument) to not depended on the
  function signature with unused arguments.
parent c4bf4b7a
...@@ -6596,7 +6596,7 @@ static int wsrep_after_row(THD *thd) ...@@ -6596,7 +6596,7 @@ static int wsrep_after_row(THD *thd)
my_message(ER_ERROR_DURING_COMMIT, "wsrep_max_ws_rows exceeded", MYF(0)); my_message(ER_ERROR_DURING_COMMIT, "wsrep_max_ws_rows exceeded", MYF(0));
DBUG_RETURN(ER_ERROR_DURING_COMMIT); DBUG_RETURN(ER_ERROR_DURING_COMMIT);
} }
else if (wsrep_after_row(thd, false)) else if (wsrep_after_row_internal(thd))
{ {
DBUG_RETURN(ER_LOCK_DEADLOCK); DBUG_RETURN(ER_LOCK_DEADLOCK);
} }
...@@ -6997,6 +6997,7 @@ int handler::ha_write_row(const uchar *buf) ...@@ -6997,6 +6997,7 @@ int handler::ha_write_row(const uchar *buf)
} }
#ifdef WITH_WSREP #ifdef WITH_WSREP
if (WSREP_NNULL(ha_thd()) && table_share->tmp_table == NO_TMP_TABLE && if (WSREP_NNULL(ha_thd()) && table_share->tmp_table == NO_TMP_TABLE &&
ht->flags & HTON_WSREP_REPLICATION &&
!error && (error= wsrep_after_row(ha_thd()))) !error && (error= wsrep_after_row(ha_thd())))
{ {
DBUG_RETURN(error); DBUG_RETURN(error);
...@@ -7047,6 +7048,7 @@ int handler::ha_update_row(const uchar *old_data, const uchar *new_data) ...@@ -7047,6 +7048,7 @@ int handler::ha_update_row(const uchar *old_data, const uchar *new_data)
} }
#ifdef WITH_WSREP #ifdef WITH_WSREP
if (WSREP_NNULL(ha_thd()) && table_share->tmp_table == NO_TMP_TABLE && if (WSREP_NNULL(ha_thd()) && table_share->tmp_table == NO_TMP_TABLE &&
ht->flags & HTON_WSREP_REPLICATION &&
!error && (error= wsrep_after_row(ha_thd()))) !error && (error= wsrep_after_row(ha_thd())))
return error; return error;
#endif /* WITH_WSREP */ #endif /* WITH_WSREP */
...@@ -7110,6 +7112,7 @@ int handler::ha_delete_row(const uchar *buf) ...@@ -7110,6 +7112,7 @@ int handler::ha_delete_row(const uchar *buf)
} }
#ifdef WITH_WSREP #ifdef WITH_WSREP
if (WSREP_NNULL(ha_thd()) && table_share->tmp_table == NO_TMP_TABLE && if (WSREP_NNULL(ha_thd()) && table_share->tmp_table == NO_TMP_TABLE &&
ht->flags & HTON_WSREP_REPLICATION &&
!error && (error= wsrep_after_row(ha_thd()))) !error && (error= wsrep_after_row(ha_thd())))
{ {
return error; return error;
......
...@@ -159,7 +159,7 @@ static inline int wsrep_start_trx_if_not_started(THD* thd) ...@@ -159,7 +159,7 @@ static inline int wsrep_start_trx_if_not_started(THD* thd)
Return zero on succes, non-zero on failure. Return zero on succes, non-zero on failure.
*/ */
static inline int wsrep_after_row(THD* thd, bool) static inline int wsrep_after_row_internal(THD* thd)
{ {
if (thd->wsrep_cs().state() != wsrep::client_state::s_none && if (thd->wsrep_cs().state() != wsrep::client_state::s_none &&
wsrep_thd_is_local(thd)) wsrep_thd_is_local(thd))
......
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