[Commits] 203bb87d27b: Merge remote-tracking branch 'origin/10.4' into bb-10.4-galera4

jan jan.lindstrom at mariadb.com
Wed Jan 16 07:58:34 EET 2019


revision-id: 203bb87d27be66787ff1972c0261902881a8580c (mariadb-10.3.6-305-g203bb87d27b)
parent(s): db6385e26019c12fd8027bff42b35eb9e8039ab7 b13d356af8d7766e143b90834f5b0d32aba8eff7
author: Jan Lindström
committer: Jan Lindström
timestamp: 2019-01-16 07:58:32 +0200
message:

Merge remote-tracking branch 'origin/10.4' into bb-10.4-galera4


 .gitignore                                         |   3 +
 .travis.yml                                        |   6 +-
 README.md                                          |   3 +-
 appveyor.yml                                       |   4 +-
 extra/mariabackup/xtrabackup.cc                    |  34 +++---
 mysql-test/main/backup_locks.result                |  46 +++++++++
 mysql-test/main/backup_locks.test                  |  50 +++++++++
 mysql-test/main/backup_syntax.result               |   2 +-
 mysql-test/main/func_math.result                   |   7 ++
 mysql-test/main/func_math.test                     |   8 ++
 mysql-test/main/func_str.result                    |  12 +++
 mysql-test/main/func_str.test                      |  16 +++
 mysql-test/main/mysqld--help.result                |   2 +-
 mysql-test/main/type_timestamp.result              |  12 +++
 mysql-test/main/type_timestamp.test                |  11 ++
 mysql-test/suite/galera/disabled.def               |   4 +-
 .../r/galera_gcache_recover_full_gcache.result     |   7 ++
 .../r/galera_ist_innodb_flush_logs,release.rdiff   | 114 +++++++++++++++++++++
 mysql-test/suite/innodb/r/innodb-index.result      |  16 +++
 mysql-test/suite/innodb/t/innodb-index.test        |  22 ++++
 mysql-test/suite/innodb/t/recovery_shutdown.test   |   6 ++
 .../mariabackup/drop_table_during_backup.result    |   5 +
 .../mariabackup/drop_table_during_backup.test      |   9 ++
 .../suite/mariabackup/rename_during_backup.result  |   9 ++
 .../suite/mariabackup/rename_during_backup.test    |   7 ++
 mysql-test/suite/rpl/r/rpl_user.result             |  11 ++
 mysql-test/suite/rpl/t/rpl_user.test               |  11 ++
 .../sys_vars/r/sysvars_server_embedded.result      |   4 +-
 .../sys_vars/r/sysvars_server_notembedded.result   |   4 +-
 mysql-test/suite/versioning/r/online.result        |   8 ++
 mysql-test/suite/versioning/t/online.test          |  11 ++
 sql/backup.cc                                      |  29 ++++++
 sql/backup.h                                       |   3 +
 sql/item.h                                         |  14 ---
 sql/item_func.cc                                   |  20 ++--
 sql/item_subselect.cc                              |   4 +-
 sql/mysqld.cc                                      |   3 +-
 sql/sql_acl.cc                                     |   6 ++
 sql/sql_class.cc                                   |   3 +
 sql/sql_class.h                                    |   2 +-
 sql/sql_cmd.h                                      |   2 +-
 sql/sql_delete.cc                                  |   4 +-
 sql/sql_lex.cc                                     |   2 +-
 sql/sql_lex.h                                      |   7 +-
 sql/sql_parse.cc                                   |  12 +++
 sql/sql_string.cc                                  |   2 +-
 sql/sql_type_int.h                                 |  16 +++
 sql/sql_yacc.yy                                    |  24 ++++-
 sql/sql_yacc_ora.yy                                |  24 ++++-
 storage/connect/plugutil.cpp                       |   2 +-
 storage/innobase/btr/btr0bulk.cc                   |   1 +
 storage/innobase/buf/buf0flu.cc                    |   2 +-
 storage/innobase/dict/dict0dict.cc                 |  42 +++-----
 storage/innobase/handler/ha_innodb.cc              |  45 ++++----
 storage/innobase/handler/handler0alter.cc          |  72 ++++++++-----
 storage/innobase/include/dict0dict.h               |  15 ---
 storage/innobase/include/dict0dict.ic              |   4 +-
 storage/innobase/include/dict0mem.h                |   7 ++
 storage/innobase/include/fil0fil.h                 |   1 -
 storage/innobase/include/log0log.h                 |   8 --
 storage/innobase/log/log0log.cc                    |  16 +--
 storage/innobase/trx/trx0trx.cc                    |   6 ++
 storage/maria/test_ma_backup.c                     |   2 +-
 63 files changed, 671 insertions(+), 193 deletions(-)

diff --cc mysql-test/suite/galera/disabled.def
index c9cb76126a5,7064df982dd..0b3ff4b42a0
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@@ -52,10 -50,5 +50,12 @@@ MW-328C : MDEV-17847 Galera test failur
  galera.galera_encrypt_tmp_files : Get error failed to enable encryption of temporary files
  galera.galera_var_reject_queries : assertion in inline_mysql_socket_send
  query_cache : MDEV-18137: Galera test failure on query_cache
+ galera.galera_autoinc_sst_mariabackup : MDEV-18177 Galera test failure on galera_autoinc_sst_mariabackup
+ galera_gcache_recover_manytrx : MDEV-15740
 +galera.galera_ist_mariabackup : Leaves port open
 +galera.galera_autoinc_sst_mariabackup : MDEV-18177 Galera test failure on galera_autoinc_sst_mariabackup
 +galera.galera_sst_rsync2 : MDEV-18178 Galera test failure on galera_sst_rsync2
 +galera.galera_kill_largechanges : MDEV-18179 Galera test failure on galera.galera_kill_largechanges
 +galera.galera_concurrent_ctas : MDEV-18180 Galera test failure on galera.galera_concurrent_ctas
 +galera.galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit
 +galera.galera_many_tables_nopk : MDEV-18182 Galera test failure on galera.galera_many_tables_nopk
diff --cc mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
index 45c426dfdf1,588af5668bb..157b982940b
--- a/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
+++ b/mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
@@@ -8,12 -10,17 +10,17 @@@ INSERT INTO t1 (f2) VALUES (REPEAT('x'
  INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
  INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
  Killing server ...
+ connection node_1;
  Performing --wsrep-recover ...
  Using --wsrep-start-position when starting mysqld ...
+ connection node_2;
  Performing --wsrep-recover ...
  Using --wsrep-start-position when starting mysqld ...
+ connection node_1;
  include/diff_servers.inc [servers=1 2]
+ connection node_1;
  DROP TABLE t1;
  CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
 -include/assert_grep.inc [IST first seqno 2 not found from cache, falling back to SST]
 +include/assert_grep.inc [IST first seqno [24] not found from cache, falling back to SST]
+ connection node_2;
  CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
diff --cc storage/innobase/trx/trx0trx.cc
index a3547ffca5b,333c7fe90eb..3873ed34bd5
--- a/storage/innobase/trx/trx0trx.cc
+++ b/storage/innobase/trx/trx0trx.cc
@@@ -2147,15 -2150,14 +2147,21 @@@ static my_bool trx_get_trx_by_xid_callb
      if (trx->is_recovered && trx_state_eq(trx, TRX_STATE_PREPARED) &&
          arg->xid->eq(reinterpret_cast<XID*>(trx->xid)))
      {
+ #ifdef WITH_WSREP
+       /* The commit of a prepared recovered Galera
+       transaction needs a valid trx->xid for
+       invoking trx_sys_update_wsrep_checkpoint(). */
+       if (!wsrep_is_wsrep_xid(trx->xid))
+ #endif
        /* Invalidate the XID, so that subsequent calls will not find it. */
 +#ifdef WITH_WSREP
 +      if (!wsrep_is_wsrep_xid(trx->xid))
 +      {
 +#endif /* WITH_WSREP */
        trx->xid->null();
 +#ifdef WITH_WSREP
 +      }
 +#endif /* WITH_WSREP */
        arg->trx= trx;
        found= 1;
      }


More information about the commits mailing list