Browse Source
MDEV-11802 innodb.innodb_bug14676111 fails
MDEV-11802 innodb.innodb_bug14676111 fails
The function trx_purge_stop() was calling os_event_reset(purge_sys->event) before calling rw_lock_x_lock(&purge_sys->latch). The os_event_set() call in srv_purge_coordinator_suspend() is protected by that X-latch. It would seem a good idea to consistently protect both os_event_set() and os_event_reset() calls with a common mutex or rw-lock in those cases where os_event_set() and os_event_reset() are used like condition variables, tied to changes of shared state. For each os_event_t, we try to document the mutex or rw-lock that is being used. For some events, frequent calls to os_event_set() seem to try to avoid hangs. Some events are never waited for infinitely, only timed waits, and os_event_set() is used for early termination of these waits. os_aio_simulated_put_read_threads_to_sleep(): Define as a null macro on other systems than Windows. TODO: remove this altogether and disable innodb_use_native_aio on Windows. os_aio_segment_wait_events[]: Initialize only if innodb_use_native_aio=0.pull/317/head
43 changed files with 272 additions and 195 deletions
-
16storage/innobase/buf/buf0dump.cc
-
4storage/innobase/buf/buf0flu.cc
-
6storage/innobase/dict/dict0stats_bg.cc
-
5storage/innobase/include/buf0buf.h
-
7storage/innobase/include/buf0dblwr.h
-
4storage/innobase/include/dict0stats_bg.h
-
5storage/innobase/include/fil0fil.h
-
1storage/innobase/include/fsp0types.h
-
4storage/innobase/include/fts0types.h
-
16storage/innobase/include/lock0lock.h
-
21storage/innobase/include/log0log.h
-
8storage/innobase/include/os0file.h
-
9storage/innobase/include/srv0srv.h
-
6storage/innobase/include/trx0purge.h
-
5storage/innobase/include/ut0wqueue.h
-
1storage/innobase/log/log0log.cc
-
50storage/innobase/os/os0file.cc
-
9storage/innobase/srv/srv0conc.cc
-
15storage/innobase/srv/srv0srv.cc
-
3storage/innobase/sync/sync0sync.cc
-
42storage/innobase/trx/trx0purge.cc
-
16storage/xtradb/buf/buf0dump.cc
-
4storage/xtradb/buf/buf0flu.cc
-
6storage/xtradb/dict/dict0stats_bg.cc
-
6storage/xtradb/include/buf0buf.h
-
7storage/xtradb/include/buf0dblwr.h
-
4storage/xtradb/include/dict0stats_bg.h
-
5storage/xtradb/include/fil0fil.h
-
1storage/xtradb/include/fsp0types.h
-
4storage/xtradb/include/fts0types.h
-
16storage/xtradb/include/lock0lock.h
-
21storage/xtradb/include/log0log.h
-
8storage/xtradb/include/os0file.h
-
9storage/xtradb/include/srv0srv.h
-
6storage/xtradb/include/trx0purge.h
-
5storage/xtradb/include/ut0wqueue.h
-
1storage/xtradb/log/log0log.cc
-
60storage/xtradb/os/os0file.cc
-
4storage/xtradb/row/row0ftsort.cc
-
9storage/xtradb/srv/srv0conc.cc
-
15storage/xtradb/srv/srv0srv.cc
-
3storage/xtradb/sync/sync0sync.cc
-
20storage/xtradb/trx/trx0purge.cc
Write
Preview
Loading…
Cancel
Save
Reference in new issue