Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 10.0.15-FusionIO, 10.1.2
-
Fix Version/s: 10.0.15-FusionIO, 10.1.3
-
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
-
Labels:None
Description
Race in shutdown, work queue is not empty after we have sent the exit messages to work queue.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
revno: 4010
committer: Jan Lindström <jplindst@mariadb.org>
branch nick: 10.0-FusionIO-release
timestamp: Fri 2015-01-09 09:29:59 +0200
message:
MDEV-7424: InnoDB: Assertion failure in thread 139901753345792in file buf0mtflu.cc line 439
Analysis: At shutdown multi-threaded flush sends a exit work
items to all mtflush threads. We wait until the work queue is
empty. However, as we did not hold the mutex, some other thread
could also put work-items to work queue.
Fix: Take mutex before adding exit work items to work queue and
wait until all work-items are really processed. Release
mutex after we have marked that multi-threaded flush is not
anymore active.