Hi Jan! On Wed, Oct 12, 2016 at 7:31 AM, Jan Lindström <jan.lindst...@mariadb.com> wrote:
> revision-id: a3d469b991732dddfafe966011e996166cd98671 > (mariadb-10.2.2-39-ga3d469b) > parent(s): 6e46de4a674c55858ec5b2528dcebb69010b34d6 > author: Jan Lindström > committer: Jan Lindström > timestamp: 2016-10-12 14:29:36 +0300 > message: > > MDEV-11035: Restore removed disallow-writes for Galera > > Found actually only one missing condition. > The patch is unfortunately incomplete. There are a bunch of WAIT_ALLOW_WRITES' (when compared to 10.1) that are currently missing in 10.2. Also, there is a memory leak as InnoDB does not free this event on shutdown (srv_free()). You can use galera.galera_var_innodb_disallow_writes to verify the fix. Best, Nirbhay > --- > storage/innobase/handler/ha_innodb.cc | 6 ++++-- > storage/innobase/srv/srv0srv.cc | 4 +--- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/storage/innobase/handler/ha_innodb.cc > b/storage/innobase/handler/ha_innodb.cc > index 1e74154..dc7e6eb 100644 > --- a/storage/innobase/handler/ha_innodb.cc > +++ b/storage/innobase/handler/ha_innodb.cc > @@ -23276,10 +23276,11 @@ innobase_disallow_writes_update( > { > *(my_bool*)var_ptr = *(my_bool*)save; > ut_a(srv_allow_writes_event); > - if (*(my_bool*)var_ptr) > + if (*(my_bool*)var_ptr) { > os_event_reset(srv_allow_writes_event); > - else > + } else { > os_event_set(srv_allow_writes_event); > + } > } > > static MYSQL_SYSVAR_BOOL(disallow_writes, innobase_disallow_writes, > @@ -23287,6 +23288,7 @@ static MYSQL_SYSVAR_BOOL(disallow_writes, > innobase_disallow_writes, > "Tell InnoDB to stop any writes to disk", > NULL, innobase_disallow_writes_update, FALSE); > #endif /* WITH_INNODB_DISALLOW_WRITES */ > + > static MYSQL_SYSVAR_BOOL(random_read_ahead, srv_random_read_ahead, > PLUGIN_VAR_NOCMDARG, > "Whether to use read ahead for random access within an extent.", > diff --git a/storage/innobase/srv/srv0srv.cc > b/storage/innobase/srv/srv0srv.cc > index 49de954..a46f62f 100644 > --- a/storage/innobase/srv/srv0srv.cc > +++ b/storage/innobase/srv/srv0srv.cc > @@ -1969,9 +1969,7 @@ DECLARE_THREAD(srv_error_monitor_thread)( > if (sync_array_print_long_waits(&waiter, &sema) > && sema == old_sema && os_thread_eq(waiter, old_waiter)) { > #if defined(WITH_WSREP) && defined(WITH_INNODB_DISALLOW_WRITES) > - if (true) { > - // JAN: TODO: MySQL 5.7 > - //if (srv_allow_writes_event->is_set) { > + if (os_event_is_set(srv_allow_writes_event)) { > #endif /* WITH_WSREP */ > fatal_cnt++; > #if defined(WITH_WSREP) && defined(WITH_INNODB_DISALLOW_WRITES) > _______________________________________________ > commits mailing list > comm...@mariadb.org > https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp