mariadb/storage/innobase
Andrei Elkin 888a8b69bd MDEV-13437 InnoDB fails to return error for XA COMMIT or XA ROLLBACK in read-only mode
Assertions failed due to incorrect handling of the --tc-heuristic-recover
option when InnoDB is in read-only mode either due to innodb_read_only=1
or innodb_force_recovery>3. InnoDB failed to refuse a XA COMMIT or
XA ROLLBACK operation, and there were errors in the error handling in
the upper layer.

This was fixed by making InnoDB XA operations respect the
high_level_read_only flag. The InnoDB part of the fix and
parts of the test main.tc_heuristic_recover were provided
by Marko Mäkelä.

LOCK_log mutex lock/unlock had to be added to fix MDEV-13438.
The measure is confirmed by mysql sources as well.

For testing of the conflicting option combination, mysql-test-run is
made to export a new $MYSQLD_LAST_CMD. It holds the very last value
generated by mtr.mysqld_start().  Even though the options have been
also always stored in $mysqld->{'started_opts'} there were no access
to them beyond the automatic server restart by mtr through the expect
file interface.

Effectively therefore $MYSQLD_LAST_CMD represents a more general
interface to $mysqld->{'started_opts'} which can be used in wider
scopes including server launch with incompatible options.

Notice another existing method to restart the server with incompatible
options relying on $MYSQLD_CMD is is aware of $mysqld->{'started_opts'}
(the actual options that the server is launched by mtr). In order to use
this method they would have to be provided manually.

NOTE: When merging to 10.2, the file search_pattern_in_file++.inc
should be replaced with the pre-existing search_pattern_in_file.inc.
2017-08-29 11:59:59 +03:00
..
api Revert an InnoDB Memcached plugin fix that was merged from MySQL 5.6.37 2017-08-09 14:29:22 +03:00
btr Merge remote-tracking branch 'origin/10.0' into 10.0 2017-05-18 15:45:55 +03:00
buf MDEV-13039 innodb_fast_shutdown=0 may fail to purge all undo log 2017-06-09 16:20:42 +03:00
data 5.6.31 2016-06-21 14:21:03 +02:00
dict Merge remote-tracking branch 'origin/5.5' into 10.0 2017-07-25 00:41:54 +03:00
dyn Merge branch '5.5' into 10.0 2017-03-03 01:37:54 +02:00
eval move to storage/innobase 2015-05-04 19:17:21 +02:00
fil Merge remote-tracking branch 'origin/10.0' into 10.0 2017-05-18 15:45:55 +03:00
fsp MDEV-13637 InnoDB change buffer housekeeping can cause redo log overrun and possibly deadlocks 2017-08-25 14:01:51 +03:00
fts MDEV-11233 CREATE FULLTEXT INDEX with a token longer than 127 bytes 2017-01-27 10:19:39 +02:00
fut move to storage/innobase 2015-05-04 19:17:21 +02:00
ha move to storage/innobase 2015-05-04 19:17:21 +02:00
handler MDEV-13437 InnoDB fails to return error for XA COMMIT or XA ROLLBACK in read-only mode 2017-08-29 11:59:59 +03:00
ibuf MDEV-13637 InnoDB change buffer housekeeping can cause redo log overrun and possibly deadlocks 2017-08-25 14:01:51 +03:00
include Revert an InnoDB Memcached plugin fix that was merged from MySQL 5.6.37 2017-08-09 14:29:22 +03:00
lock Never pass NULL to innobase_get_stmt() 2017-05-17 08:11:01 +03:00
log MDEV-12975 InnoDB redo log minimum size check uses detected file size instead of requested innodb_log_file_size 2017-06-19 15:59:19 +03:00
mach 5.6.35 2017-01-07 14:24:42 +02:00
mem 5.6.31 2016-06-21 14:21:03 +02:00
mtr Merge branch '5.5' into 10.0 2017-03-03 01:37:54 +02:00
mysql-test/storage_engine MDEV-12915 ST_Centroid does not return the same result than MySQL 2017-08-01 09:52:59 +02:00
os Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
page Fix warnings in innochecksum compilation 2017-05-17 08:00:24 +03:00
pars 5.6.31 2016-06-21 14:21:03 +02:00
que 5.6.24 2015-05-04 22:13:46 +02:00
read move to storage/innobase 2015-05-04 19:17:21 +02:00
rem Fix some __attribute__((nonnull)) misuse 2017-05-18 09:07:15 +03:00
row MDEV-13637 InnoDB change buffer housekeeping can cause redo log overrun and possibly deadlocks 2017-08-25 14:01:51 +03:00
srv MDEV-13325: InnoDB assert dict_sys->size > 0 during ALTER TABLE 2017-07-21 16:05:20 +03:00
sync Silence bogus GCC 7 warnings -Wimplicit-fallthrough 2017-05-17 08:07:02 +03:00
trx MDEV-13606 XA PREPARE transactions should survive innodb_force_recovery=1 or 2 2017-08-23 13:03:13 +03:00
usr Remove redundant UT_LIST_INIT() calls 2017-05-17 10:33:49 +03:00
ut MDEV-9276: MySQL Bug #78754: FK definitions missing from SHOW CREATE TABLE in "innodb_read_only" mode 2015-12-14 22:10:37 +02:00
CMakeLists.txt compilation fix for SLES 11 SP4 2017-08-14 18:37:53 +02:00
compile-innodb move to storage/innobase 2015-05-04 19:17:21 +02:00
COPYING.Google move to storage/innobase 2015-05-04 19:17:21 +02:00
COPYING.Percona move to storage/innobase 2015-05-04 19:17:21 +02:00
Doxyfile move to storage/innobase 2015-05-04 19:17:21 +02:00
ha_innodb.def move to storage/innobase 2015-05-04 19:17:21 +02:00
plugin_exports Solaris compilation failure: xtradb is linked in statically, ha_innodb.so needs 2014-05-01 14:05:52 +02:00