1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

MW-269 Fix outstanding issues with wsrep_max_ws_rows

This patch includes two fixes:

1) Rollback when wsrep_max_ws_rows is exceeded would not switch
back to previous autocommit mode; and 2) Internal rows counter
would not be reset on implicit commits.
This commit is contained in:
Daniele Sciascia
2016-05-05 13:20:32 +02:00
committed by Nirbhay Choubey
parent e373f60fd1
commit 5197fcf6b4
5 changed files with 64 additions and 4 deletions

View File

@ -6104,7 +6104,7 @@ int handler::ha_write_row(uchar *buf)
current_thd->wsrep_exec_mode != REPL_RECV &&
current_thd->wsrep_affected_rows > wsrep_max_ws_rows)
{
current_thd->transaction_rollback_request= TRUE;
trans_rollback_stmt(current_thd) || trans_rollback(current_thd);
my_message(ER_ERROR_DURING_COMMIT, "wsrep_max_ws_rows exceeded", MYF(0));
DBUG_RETURN(ER_ERROR_DURING_COMMIT);
}
@ -6148,7 +6148,7 @@ int handler::ha_update_row(const uchar *old_data, uchar *new_data)
current_thd->wsrep_exec_mode != REPL_RECV &&
current_thd->wsrep_affected_rows > wsrep_max_ws_rows)
{
current_thd->transaction_rollback_request= TRUE;
trans_rollback_stmt(current_thd) || trans_rollback(current_thd);
my_message(ER_ERROR_DURING_COMMIT, "wsrep_max_ws_rows exceeded", MYF(0));
return ER_ERROR_DURING_COMMIT;
}
@ -6186,7 +6186,7 @@ int handler::ha_delete_row(const uchar *buf)
current_thd->wsrep_exec_mode != REPL_RECV &&
current_thd->wsrep_affected_rows > wsrep_max_ws_rows)
{
current_thd->transaction_rollback_request= TRUE;
trans_rollback_stmt(current_thd) || trans_rollback(current_thd);
my_message(ER_ERROR_DURING_COMMIT, "wsrep_max_ws_rows exceeded", MYF(0));
return ER_ERROR_DURING_COMMIT;
}