Permalink
Browse files

BUG#20074353 HANDLE_FATAL_SIGNAL (SIG=11) IN MY_B_WRITE | MYSYS/MF_IO…

…CACHE.C:1597

Problem: Modifying master_info/relay_log_info repositories
         inside a transaction and later rolling back that
         transaction is leaving repository in a bad condition
         that cannot be used later.

Fix:     Disallow modifying these repositories inside a transaction
         as there are no real uses cases for the same.
  • Loading branch information...
Venkatesh Duggirala
Venkatesh Duggirala committed Jul 10, 2015
1 parent 242fa2c commit 5639195ee2988ef80eda3537638dca2d752841be
Showing with 4 additions and 5 deletions.
  1. +4 −5 sql/sys_vars.cc
View
@@ -830,13 +830,12 @@ static Sys_var_mybool Sys_explicit_defaults_for_timestamp(
static bool repository_check(sys_var *self, THD *thd, set_var *var, SLAVE_THD_TYPE thread_mask)
{
bool ret= FALSE;
#ifndef NO_EMBEDDED_ACCESS_CHECKS
if (!(thd->security_ctx->master_access & SUPER_ACL))
if (thd->in_active_multi_stmt_transaction())
{
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
return TRUE;
my_error(ER_VARIABLE_NOT_SETTABLE_IN_TRANSACTION, MYF(0),
var->var->name.str);
return true;
}
#endif
#ifdef HAVE_REPLICATION
int running= 0;
const char *msg= NULL;

0 comments on commit 5639195

Please sign in to comment.