1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

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.
This commit is contained in:
Monty
2020-05-19 20:15:00 +03:00
parent c4bf4b7aef
commit f4ddde0698
2 changed files with 5 additions and 2 deletions

View File

@@ -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)
} }
#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)
} }
#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)
} }
#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;

View File

@@ -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))