mariadb/storage
Kristian Nielsen f86a09a852 MDEV-39277: Performance regression in 12.3.0 when using legacy binlog
The flags trx->active_commit_ordered and trx->active_prepare got cleared in
trx_init() during the fast part of commit (ie. commit_ordered()). This is
too early, then the values are lost when processing reaches
trx_commit_complete_for_mysql(). This caused the MDEV-232 optimization to be
omitted, adding an extra fsync() at the end of commit when using the legacy
binlog and causing severe performance regression.

The values of trx->active_commit_ordered and trx->active_prepare must
persist to the end of commit procesing, same as trx->is_registered. This is
done in this patch, active_commit_ordered and active_prepare are cleared in
trx_deregister_from_2pc() together with trx->is_registered in
trx_deregister_from_2pc(), and asserted to be cleared when
trx->is_registered is set for a following transaction.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2026-04-14 09:14:58 +02:00
..
archive Merge 10.6 into 10.11 2024-06-27 10:26:09 +03:00
blackhole Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
columnstore columnstore 25.10.1-1 2025-10-24 13:32:45 +02:00
connect cleanup: CREATE_TYPELIB_FOR() helper 2025-10-25 00:19:11 +07:00
csv Merge 10.11 into 11.4 2025-09-03 10:32:56 +03:00
example cleanup: CREATE_TYPELIB_FOR() helper 2025-10-25 00:19:11 +07:00
federated Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
federatedx MDEV-37484: Sql_cmd_dml::execute_inner, Sql_cmd_update::execute_inner do not call Select handler for the engine involved 2025-11-27 13:13:17 +05:30
heap Fixed costs in JOIN_TAB::estimate_scan_time() and HEAP 2025-02-10 15:59:28 +02:00
innobase MDEV-39277: Performance regression in 12.3.0 when using legacy binlog 2026-04-14 09:14:58 +02:00
maria Merge 10.11 into 11.4 2026-01-02 11:53:09 +02:00
mroonga cleanup: CREATE_TYPELIB_FOR() helper 2025-10-25 00:19:11 +07:00
myisam cleanup: CREATE_TYPELIB_FOR() helper 2025-10-25 00:19:11 +07:00
myisammrg cleanup: CREATE_TYPELIB_FOR() helper 2025-10-25 00:19:11 +07:00
oqgraph Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
perfschema Merge 10.11 into 11.4 2025-09-03 10:32:56 +03:00
rocksdb cleanup: CREATE_TYPELIB_FOR() helper 2025-10-25 00:19:11 +07:00
sequence Merge branch '10.11' into 11.1 2024-07-08 22:40:16 +02:00
sphinx Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
spider fix spider/bugfix.mdev_37972 to work for mariadb-test/ 2026-01-09 14:03:17 +01:00
test_sql_discovery Merge 10.5 into 10.6 2024-06-24 13:09:47 +03:00