diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2017-12-21 15:45:40 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2018-01-20 16:09:26 +0400 |
commit | d09f14693406ea7612a7010917b39b895d77593f (patch) | |
tree | 75fbe7cf853404ab1e3a769e2752fce5b9334f99 /storage/innobase/row/row0ext.cc | |
parent | 07c0bac03952e4b8509e0858def5c85a2b09b4eb (diff) | |
download | mariadb-git-d09f14693406ea7612a7010917b39b895d77593f.tar.gz |
MDEV-14756 - Remove trx_sys_t::rw_trx_list
Reduce divergence between trx_sys_t::rw_trx_hash and trx_sys_t::rw_trx_list
by not adding recovered COMMITTED transactions to trx_sys_t::rw_trx_list.
Such transactions are discarded immediately without creating trx object.
This also required to split rollback and cleanup phases of recovery. To
reflect these updates the following renames happened:
trx_rollback_or_clean_all_recovered() -> trx_rollback_all_recovered()
trx_rollback_or_clean_is_active -> trx_rollback_is_active
trx_rollback_or_clean_recovered() -> trx_rollback_recovered()
trx_cleanup_at_db_startup() -> trx_cleanup_recovered()
Also removed a hack from lock_trx_release_locks(). Instead let recovery
rollback thread to skip committed XA transactions.
Diffstat (limited to 'storage/innobase/row/row0ext.cc')
-rw-r--r-- | storage/innobase/row/row0ext.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/storage/innobase/row/row0ext.cc b/storage/innobase/row/row0ext.cc index 72c68940d11..503f7d0d3e7 100644 --- a/storage/innobase/row/row0ext.cc +++ b/storage/innobase/row/row0ext.cc @@ -70,7 +70,7 @@ row_ext_cache_fill( } else { /* Fetch at most ext->max_len of the column. The column should be non-empty. However, - trx_rollback_or_clean_all_recovered() may try to + trx_rollback_all_recovered() may try to access a half-deleted BLOB if the server previously crashed during the execution of btr_free_externally_stored_field(). */ |