mariadb/storage/innobase
Marko Mäkelä 0f8e17af92 Part 1 of MDEV-8139 Fix scrubbing tests
Port a bug fix from MySQL 5.7, so that all undo log pages will be freed
during a slow shutdown. We cannot scrub pages that are left allocated.

commit 173e171c6fb55f064eea278c76fbb28e2b1c757b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Sep 9 18:01:27 2016 +0530

    Bug #24450908   UNDO LOG EXISTS AFTER SLOW SHUTDOWN

    Problem:
    ========

    1) cached undo segment is not removed from rollback segment history
    (RSEG_HISTORY) during slow shutdown. In other words, If the segment is
    not completely free, we are failing to remove an entry from the history
    list. While starting the server, we traverse all rollback segment slots
    history list and make it as list of undo logs to be purged in purge
    queue.
    In that case, purge queue will never be empty after slow shutdown.

    2) Freeing of undo log segment is linked with removing undo log header
    from history.

    Fix:
    ====
    1) Have separate logic of removing the undo log header from
    history list from rollback segment slots and remove it from
    rollback segment history even though it is not completely free.

    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    RB:13672
2017-01-04 18:21:42 +02:00
..
api MDEV-9282 Debian: the Lintian complains about "shlib-calls-exit" in ha_innodb.so 2016-12-28 15:54:24 +02:00
btr MDEV-11349 (1/2) Fix some clang 4.0 warnings 2016-11-25 09:09:51 +02:00
buf MDEV-9282 Debian: the Lintian complains about "shlib-calls-exit" in ha_innodb.so 2016-12-28 15:54:24 +02:00
data 5.6.31 2016-06-21 14:21:03 +02:00
dict Merge branch '10.0' into 10.1 2016-12-19 17:15:25 +02:00
dyn move to storage/innobase 2015-05-04 19:17:21 +02:00
eval move to storage/innobase 2015-05-04 19:17:21 +02:00
fil Post-fix for MDEV-11688 fil_crypt_threads_end() tries to create threads 2017-01-03 15:44:44 +02:00
fsp Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +02:00
fts MDEV-11233 CREATE FULLTEXT INDEX with a token longer than 127 bytes 2016-12-05 15:25:59 +02:00
fut Part 1 of MDEV-8139 Fix scrubbing tests 2017-01-04 18:21:42 +02:00
ha move to storage/innobase 2015-05-04 19:17:21 +02:00
handler MDEV-7955 WSREP() appears on radar in OLTP RO 2017-01-03 10:45:55 +05:30
ibuf MDEV-11349 (1/2) Fix some clang 4.0 warnings 2016-11-25 09:09:51 +02:00
include Part 1 of MDEV-8139 Fix scrubbing tests 2017-01-04 18:21:42 +02:00
lock MDEV-11168: InnoDB: Failing assertion: !other_lock || wsrep_thd_is_BF(lock->trx->mysql_thd, FALSE) || wsrep_thd_is_BF(other_lock->trx->mysql_thd, FALSE) 2016-12-02 11:08:18 +02:00
log MDEV-11556 InnoDB redo log apply fails to adjust data file sizes 2016-12-30 09:52:24 +02:00
mach move to storage/innobase 2015-05-04 19:17:21 +02:00
mem 5.6.31 2016-06-21 14:21:03 +02:00
mtr Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +02:00
mysql-test/storage_engine Follow-up for MDEV-8675 and MDEV-8676 2015-09-14 03:12:54 +03:00
os MDEV-9282 Debian: the Lintian complains about "shlib-calls-exit" in ha_innodb.so 2016-12-28 15:54:24 +02:00
page Merge branch '10.0' into 10.1 2016-08-25 12:40:09 +02:00
pars Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +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 Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +02:00
row MDEV-9282 Debian: the Lintian complains about "shlib-calls-exit" in ha_innodb.so 2016-12-28 15:54:24 +02:00
srv MDEV-11556 InnoDB redo log apply fails to adjust data file sizes 2016-12-30 09:52:24 +02:00
sync MDEV-11349 (1/2) Fix some clang 4.0 warnings 2016-11-25 09:09:51 +02:00
trx Part 1 of MDEV-8139 Fix scrubbing tests 2017-01-04 18:21:42 +02:00
usr move to storage/innobase 2015-05-04 19:17:21 +02:00
ut MDEV-8684: Remove delaying maths in ut_delay 2016-03-31 16:35:19 +11:00
CMakeLists.txt Do not build optimised power crc32 on bigendian 2015-12-18 17:15:06 +11: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