[MDEV-7424] InnoDB: Assertion failure in thread 139901753345792 in file buf0mtflu.cc line 439 Created: 2015-01-09  Updated: 2015-01-15  Resolved: 2015-01-15

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: 10.0.15-FusionIO, 10.1.2
Fix Version/s: 10.0.15-FusionIO, 10.1.3

Type: Bug Priority: Major
Reporter: Jan Lindström (Inactive) Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: None


 Description   

Race in shutdown, work queue is not empty after we have sent the exit messages to work queue.



 Comments   
Comment by Jan Lindström (Inactive) [ 2015-01-09 ]

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 139901753345792
in 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.

Comment by Jan Lindström (Inactive) [ 2015-01-15 ]

commit fe0112e2522750493eb3cb89ad3bf4985f311279
Author: Jan Lindström <jan.lindstrom@skysql.com>
Date: Wed Jan 14 19:24:37 2015 +0200

MDEV-7424: InnoDB: Assertion failure in thread 139901753345792
in 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.

Fix test failure on innodb_bug12902967 caused by unnecessary
info output on xtradb/buf/buf0mtflush.cc.

Do not try to enable atomic writes if the file type
is not OS_DATA_FILE. Atomic writes are unnecessary
for log files. If we try to enable atomic writes
to log writes that are stored to media supporting
atomic writes we will end up problems later.

Generated at Thu Feb 08 07:19:29 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.