mariadb/include
Teemu Ollakka 1ef50a34ec 10.4 wsrep group commit fixes (#1224)
* MDEV-16509 Improve wsrep commit performance with binlog disabled

Release commit order critical section early after trx_commit_low() if
binlog is not transaction coordinator. In order to avoid two phase commit,
binlog_hton is not registered for THD during IO_CACHE population.

Implemented a test which verifies that the transactions release
commit order early.

This optimization will change behavior during recovery as the commit
is not two phase when binlog is off. Fixed and recorded wsrep-recover-v25
and wsrep-recover to match the behavior.

* MDEV-18730 Ordering for wsrep binlog group commit

Previously out of order execution was allowed for wsrep commits.
Established proper ordering by populating wait_for_commit
for every wsrep THD and making group commit leader to wait for
prior commits before proceeding to trx_group_commit_leader().

* MDEV-18730 Added a test case to verify correct commit ordering

* MDEV-16509, MDEV-18730 Review fixes

Use WSREP_EMULATE_BINLOG() macro to decide if the binlog_hton
should be registered. Whitespace/syntax fixes and cleanups.

* MDEV-16509 Require binlog for galera_var_innodb_disallow_writes test

If the commit to InnoDB is done in one phase, the native InnoDB behavior
is that the transaction is committed in memory before it is persisted to
disk. This means that the innodb_disallow_writes=ON may not prevent
transaction to become visible to other readers before commit is completely
over. On the other hand, if the commit is two phase (as it is with binlog),
the transaction will be blocked in prepare phase.

Fixed the test to use binlog, which enforces two phase commit, which
in turn makes commit to block before the changes become visible to
other connections. This guarantees that the test produces expected
result.
2019-03-15 07:09:13 +02:00
..
atomic Merge bb-10.2-ext into 10.3 2017-12-12 09:57:17 +02:00
mysql 10.4 wsrep group commit fixes (#1224) 2019-03-15 07:09:13 +02:00
aria_backup.h Add C_MODE_START to aria_backup.h 2019-03-08 10:18:20 +02:00
big_endian.h MDEV-14267: correct FSF address 2018-10-30 19:45:09 +08:00
byte_order_generic.h MDEV-14267: correct FSF address 2018-10-30 19:45:09 +08:00
byte_order_generic_x86.h MDEV-14267: correct FSF address 2018-10-30 19:45:09 +08:00
byte_order_generic_x86_64.h MDEV-14267: correct FSF address 2018-10-30 19:45:09 +08:00
CMakeLists.txt MDEV-13773 client packages need my_global.h and/or my_config.h 2017-09-18 10:12:23 +02:00
decimal.h Adding "const" qualifier to the argument of decimal_actual_fraction(). 2016-01-14 17:23:23 +04:00
dur_prop.h Merge InnoDB 5.7 from mysql-5.7.9. 2016-09-02 13:22:28 +03:00
errmsg.h 5.5.38 merge 2014-06-06 00:07:27 +02:00
ft_global.h mysql-5.1.73 merge 2014-03-15 18:24:15 +01:00
handler_ername.h Fix for MDEV-5547: Bad error message when moving very old .frm files to MariaDB 5.5. 2014-01-22 15:16:57 +02:00
handler_state.h Fix for MDEV-533: Confusing error code when doing auto-increment insert for out-of-range values 2012-09-18 15:14:19 +03:00
hash.h Merge branch '10.2' into 10.3 2018-05-11 13:15:10 +02:00
heap.h Merge remote-tracking branch 'origin/5.5-galera' into 10.0-galera 2018-05-07 13:49:14 +03:00
json_lib.h MDEV-5313 Improving audit API. 2019-01-18 03:18:02 +04:00
keycache.h Fixed problem with very slow shutdown when using 100,000 MyISAM tables with delay_key_write 2014-07-19 17:46:08 +03:00
lf.h MDEV-17441 - InnoDB transition to C++11 atomics 2018-12-28 13:24:11 +04:00
little_endian.h MDEV-14267: correct FSF address 2018-10-30 19:45:09 +08:00
m_ctype.h MDEV-17502 MDEV-17474 Change Unicode xxx_general_ci and xxx_bin collation implementation to "inline" style 2018-10-19 14:35:01 +04:00
m_string.h Enable C++11 2018-09-09 10:05:56 +04:00
ma_dyncol.h MDEV-7533: COLUMN_JSON() doesn't escape control characters in string values 2018-01-23 13:06:39 +01:00
maria.h Merge 10.2 into 10.3 2018-04-24 20:59:57 +03:00
my_alarm.h MDEV-8450: PATCH] Wrong macro expansion in Query_cache::send_result_to_client() 2015-09-06 22:26:33 +02:00
my_alloc.h Added name to MEM_ROOT for esier debugging 2018-02-02 11:08:36 +02:00
my_atomic.h Merge branch '10.1' into 10.2 2018-09-14 08:47:22 +02:00
my_attribute.h Make possible to use clang on Windows (clang-cl) 2018-02-20 21:17:36 +00:00
my_base.h MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00
my_bit.h Merge 10.2 into 10.3 2018-11-06 09:40:39 +02:00
my_bitmap.h Adding multi_range_read support to partitions 2017-12-03 13:58:34 +02:00
my_byteorder.h Temporary commit of 10.0-merge 2013-03-26 00:03:13 +02:00
my_check_opt.h 5.5 merge 2015-01-21 12:03:02 +01:00
my_compare.h MDEV-16188 Use in-memory PK filters built from range index scans 2019-02-03 14:56:12 -08:00
my_compiler.h Merge bb-10.2-ext into 10.3 2017-10-04 08:24:06 +03:00
my_context.h Merge branch '10.1' into 10.2 2016-03-23 22:36:46 +01:00
my_counter.h MDEV-17441 - InnoDB transition to C++11 atomics 2019-01-07 19:45:50 +04:00
my_cpu.h Merge 10.2 into 10.3 2018-11-06 09:40:39 +02:00
my_crypt.h MDEV-10332 support for OpenSSL 1.1 and LibreSSL 2017-05-09 18:53:10 +02:00
my_dbug.h Misc. typos 2018-04-05 15:26:57 +04:00
my_decimal_limits.h Merge branch '10.1' into 10.2 2017-03-30 12:48:42 +02:00
my_default.h After-merge fix for commit 98eb9518db 2018-03-16 15:49:53 +02:00
my_dir.h Fix a lot of compiler warnings found by -Wunused 2018-04-26 17:35:12 +03:00
my_getopt.h New option for slow logging (log_slow_disable_statements) 2017-08-24 01:05:51 +02:00
my_global.h Merge 10.2 into 10.3 2018-12-13 21:58:35 +02:00
my_handler_errors.h Merge 10.2 into bb-10.2-ext 2017-09-20 17:47:49 +03:00
my_libwrap.h Bug 16395495 - OLD FSF ADDRESS IN GPL HEADER 2013-03-19 13:29:12 +01:00
my_list.h Bug 16395495 - OLD FSF ADDRESS IN GPL HEADER 2013-03-19 13:29:12 +01:00
my_md5.h encryption cleanup: small changes 2015-04-05 13:14:37 +02:00
my_net.h Misc. typos 2018-04-05 15:26:57 +04:00
my_nosys.h Bug 16395495 - OLD FSF ADDRESS IN GPL HEADER 2013-03-19 13:29:12 +01:00
my_pthread.h Merge 10.3 into 10.4 2019-03-08 11:19:48 +02:00
my_rdtsc.h MDEV-9172 - Analyze patches for IBM System z 2015-12-09 16:52:12 +04:00
my_rnd.h Correct FSF address 2017-03-10 18:21:29 +01:00
my_service_manager.h Merge branch '10.1' into 10.2 2018-09-14 08:47:22 +02:00
my_stacktrace.h MDEV-15091 : Windows, 64bit: reenable and fix warning C4267 (conversion from 'size_t' to 'type', possible loss of data) 2018-02-06 12:55:58 +00:00
my_sys.h Merge branch '10.3' into 10.4 2019-02-21 14:40:52 +01:00
my_time.h MDEV-16991 Rounding vs truncation for TIME, DATETIME, TIMESTAMP 2018-11-26 08:10:47 +04:00
my_tree.h Fix that end_bulk_insert() doesn't write to to-be-deleted files 2017-05-17 00:34:48 +03:00
my_uctype.h
my_user.h Enusure that my_global.h is included first 2017-08-24 01:05:44 +02:00
my_valgrind.h Merge 10.2 into 10.3 2019-02-19 17:41:13 +02:00
my_xml.h MDEV-4928 Merge collation customization improvements 2013-10-02 15:04:07 +04:00
myisam.h Merge 10.2 into 10.3 2018-04-24 20:59:57 +03:00
myisamchk.h Fixed several issues with aria_chk 2018-08-31 14:26:07 +03:00
myisammrg.h Added "const" to new data for handler::update_row() 2017-04-18 12:23:53 +03:00
myisampack.h Optimized intkorr() and intstore(functions) for intel 64 bits. 2016-02-07 10:34:03 +02:00
mysql.h Merge 10.2 into 10.3 2019-02-19 17:41:13 +02:00
mysql.h.pp Merge 10.2 into 10.3 2019-02-19 17:41:13 +02:00
mysql_async.h MDEV-13384 - misc Windows warnings fixed 2017-09-28 17:20:46 +00:00
mysql_com.h MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00
mysql_com_server.h Next part of merge. See TODO for details 2012-08-14 17:23:34 +03:00
mysql_embed.h MDEV-16536 Remove shared memory transport 2018-08-20 14:11:36 +01:00
mysql_time.h 10.0-base merge 2013-07-18 16:46:57 +02:00
mysql_version.h.in MDEV-12501 -- set --maturity-level by default 2017-12-09 23:34:43 +00:00
mysqld_default_groups.h MDEV-34 delete storage/ndb and sql/*ndb* (and collateral changes) 2014-10-11 18:53:06 +02:00
mysys_err.h
pack.h Merge branch '10.2' into bb-10.2-connector-c-integ-subm 2016-09-21 12:54:56 +02:00
password.h Enusure that my_global.h is included first 2017-08-24 01:05:44 +02:00
probes_mysql.d.base
probes_mysql.h more portable fix for lp:942266 - 5.5 builds fail with systemtap-sdt-dev installed on Ubuntu 2012-05-11 09:18:00 +02:00
probes_mysql_nodtrace.h.in Merge branch '5.5' into 10.0 2016-02-15 22:50:59 +01:00
queues.h Misc. typos 2018-04-05 15:26:57 +04:00
rijndael.h Bug 16395495 - OLD FSF ADDRESS IN GPL HEADER 2013-03-19 13:29:12 +01:00
service_versions.h MDEV-5313 Improving audit api. 2018-12-12 01:49:39 +04:00
source_revision.h.in SOURCE_REVISION should always be defined in source_revision.h 2017-11-01 13:20:32 +00:00
sql_common.h Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
ssl_compat.h Windows : fix broken build with OpenSSL 2018-09-08 20:36:31 +01:00
sslopt-case.h BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION 2017-03-10 14:11:26 +05:30
sslopt-longopts.h WL#9072: Backport WL#8785 to 5.5 2016-02-19 23:31:10 +04:00
sslopt-vars.h BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION 2017-03-10 14:11:26 +05:30
t_ctype.h Updated/added copyright header. Added line "use is subject to license terms" 2014-02-17 18:19:04 +05:30
thr_alarm.h 5.2 merge 2014-03-16 21:03:01 +01:00
thr_lock.h Galera4 2019-01-23 15:30:00 +04:00
thr_timer.h followup changes to timeout commit 2014-10-10 22:27:36 +02:00
thread_pool_priv.h Move THD list handling to THD_list 2019-01-28 17:39:07 +04:00
typelib.h Misc. typos 2018-04-05 15:26:57 +04:00
violite.h Small refactoring in vio. 2018-10-05 09:36:02 +01:00
waiting_threads.h Enusure that my_global.h is included first 2017-08-24 01:05:44 +02:00
welcome_copyright_notice.h Merge branch 'mysql/5.5' into 5.5 2018-01-18 17:54:48 +01:00
wqueue.h Enusure that my_global.h is included first 2017-08-24 01:05:44 +02:00
wsrep.h Galera4 2019-01-23 15:30:00 +04:00