Commit 248dc12e authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.1 into 10.2

parents f5ee7fb3 7372fe4d
...@@ -5262,6 +5262,7 @@ xb_process_datadir( ...@@ -5262,6 +5262,7 @@ xb_process_datadir(
path, NULL, path, NULL,
fileinfo.name, NULL)) fileinfo.name, NULL))
{ {
os_file_closedir(dbdir);
return(FALSE); return(FALSE);
} }
} }
...@@ -5323,6 +5324,7 @@ xb_process_datadir( ...@@ -5323,6 +5324,7 @@ xb_process_datadir(
dbinfo.name, dbinfo.name,
fileinfo.name, NULL)) fileinfo.name, NULL))
{ {
os_file_closedir(dbdir);
return(FALSE); return(FALSE);
} }
} }
......
...@@ -20,9 +20,6 @@ galera_as_slave_preordered : wsrep-preordered feature not merged to MariaDB ...@@ -20,9 +20,6 @@ galera_as_slave_preordered : wsrep-preordered feature not merged to MariaDB
GAL-419 : MDEV-13549 Galera test failures GAL-419 : MDEV-13549 Galera test failures
galera_var_notify_cmd : MDEV-13549 Galera test failures galera_var_notify_cmd : MDEV-13549 Galera test failures
galera_as_slave_replication_bundle : MDEV-13549 Galera test failures galera_as_slave_replication_bundle : MDEV-13549 Galera test failures
galera_gcache_recover : MDEV-13549 Galera test failures
galera_gcache_recover_full_gcache : MDEV-13549 Galera test failures
galera_gcache_recover_manytrx : MDEV-13549 Galera test failures
galera_ssl_upgrade : MDEV-13549 Galera test failures galera_ssl_upgrade : MDEV-13549 Galera test failures
galera.MW-329 : wsrep_local_replays not stable galera.MW-329 : wsrep_local_replays not stable
MW-416 : MDEV-13549 Galera test failures MW-416 : MDEV-13549 Galera test failures
......
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1);
SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_sync_wait = 0;
connection node_2;
SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_sync_wait = 0;
Killing server ... Killing server ...
connection node_1;
INSERT INTO t1 VALUES (2); INSERT INTO t1 VALUES (2);
Killing server ... Killing server ...
connection node_1;
Performing --wsrep-recover ... Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ... Using --wsrep-start-position when starting mysqld ...
INSERT INTO t1 VALUES (3); INSERT INTO t1 VALUES (3);
connection node_2;
Performing --wsrep-recover ... Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ... Using --wsrep-start-position when starting mysqld ...
connection node_1;
include/diff_servers.inc [servers=1 2] include/diff_servers.inc [servers=1 2]
connection node_1;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
include/assert_grep.inc [async IST sender starting to serve] include/assert_grep.inc [async IST sender starting to serve]
connection node_2;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence] include/assert_grep.inc [Recovering GCache ring buffer: found gapless sequence]
DROP TABLE t1; DROP TABLE t1;
SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_sync_wait = 0;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 LONGBLOB) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY AUTO_INCREMENT, f2 LONGBLOB) ENGINE=InnoDB;
connection node_2;
SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_sync_wait = 0;
Killing server ... Killing server ...
connection node_1;
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10)); INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10)); INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10)); INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10)); INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10)); INSERT INTO t1 (f2) VALUES (REPEAT('x', 1024 * 1024 * 10));
Killing server ... Killing server ...
connection node_1;
Performing --wsrep-recover ... Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ... Using --wsrep-start-position when starting mysqld ...
connection node_2;
Performing --wsrep-recover ... Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ... Using --wsrep-start-position when starting mysqld ...
connection node_1;
include/diff_servers.inc [servers=1 2] include/diff_servers.inc [servers=1 2]
connection node_1;
DROP TABLE t1; DROP TABLE t1;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); 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 2 not found from cache, falling back to SST]
connection node_2;
CALL mtr.add_suppression("Skipped GCache ring buffer recovery"); CALL mtr.add_suppression("Skipped GCache ring buffer recovery");
...@@ -2738,6 +2738,12 @@ trx_get_trx_by_xid_low( ...@@ -2738,6 +2738,12 @@ trx_get_trx_by_xid_low(
&& trx_state_eq(trx, TRX_STATE_PREPARED) && trx_state_eq(trx, TRX_STATE_PREPARED)
&& xid->eq((XID*)trx->xid)) { && xid->eq((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)) break;
#endif
/* Invalidate the XID, so that subsequent calls /* Invalidate the XID, so that subsequent calls
will not find it. */ will not find it. */
trx->xid->null(); trx->xid->null();
......
...@@ -2578,6 +2578,12 @@ trx_get_trx_by_xid_low( ...@@ -2578,6 +2578,12 @@ trx_get_trx_by_xid_low(
&& memcmp(xid->data, trx->xid.data, && memcmp(xid->data, trx->xid.data,
xid->gtrid_length + xid->bqual_length) == 0) { xid->gtrid_length + xid->bqual_length) == 0) {
#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)) break;
#endif
/* Invalidate the XID, so that subsequent calls /* Invalidate the XID, so that subsequent calls
will not find it. */ will not find it. */
trx->xid.null(); trx->xid.null();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment