Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.3, 10.2.4, 10.2.5, 10.3.0, 10.2.6, 5.5(EOL), 10.0(EOL), 10.1(EOL)
Description
When a slow shutdown is performed soon after creating some activity for fts_optimize_thread(), it is possible that the optimize thread is starting new transactions after the purge has finished. This is violating the specification of innodb_fast_shutdown, namely that the purge must be completed. (None of the history of new transactions would be purged.)
The proper fix would seem to declare a flag that indicates whether undo-log-generating background threads are active:
/** Shut down background threads that can generate undo log. */
|
void
|
srv_shutdown_bg_undo_sources()
|
{
|
if (srv_bg_undo_sources) {
|
ut_ad(!srv_read_only_mode);
|
fts_optimize_shutdown();
|
dict_stats_shutdown();
|
srv_bg_undo_sources = false;
|
}
|
}
|
As long as this flag is set, srv_purge_should_exit() must return false.
Attachments
Issue Links
- is caused by
-
MDEV-5800 indexes on virtual (not materialized) columns
- Closed
-
MDEV-12057 Embedded server shutdown hangs in InnoDB
- Closed
- relates to
-
MDEV-12091 Shutdown fails to wait for rollback of recovered transactions to finish
- Closed
-
MDEV-12994 innodb_fast_shutdown=0 skips change buffer merge; fast shutdown does it
- Closed
-
MDEV-13059 XtraDB hangs on Windows due to failing to release block->lock X-latch in innodb_read_only mode
- Closed
-
MDEV-13472 rpl.rpl_semi_sync_wait_point crashes because of thd_destructor_proxy
- Closed
-
MDEV-13603 innodb_fast_shutdown=0 may fail to purge all history
- Closed