mysql fails to start with innodb_track_changed_pages=1 and innodb_flush_method=ALL_O_DIRECT

Bug #1177131 reported by George Ormond Lorch III
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
New
Undecided
Unassigned

Bug Description

With a fresh build/install of PS 5.5 @ revno 506, mysqld fails to start with innodb_track_changed_pages=1 and innodb_flush_method=ALL_O_DIRECT:

130506 15:26:28 [Note] Plugin 'FEDERATED' is disabled.
130506 15:26:28 InnoDB: The InnoDB memory heap is disabled
130506 15:26:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130506 15:26:28 InnoDB: Compressed tables use zlib 1.2.3
130506 15:26:28 InnoDB: Using Linux native AIO
130506 15:26:28 InnoDB: Initializing buffer pool, size = 1.0G
130506 15:26:28 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
130506 15:26:28 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
130506 15:26:28 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 512 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100 200 300 400 500
130506 15:26:30 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 512 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100 200 300 400 500
InnoDB: starting tracking changed pages from LSN 8204
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Error: tried to read 65536 bytes at offset 0 2048.
InnoDB: Was only able to read 0.
130506 15:26:33 InnoDB: Operating system error number 22 in a file operation.
InnoDB: Error number 22 means 'Invalid argument'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.

my.cnf:
[client]
port=10000
socket=/data/dev/t1/mysql.1/mysql.sock
[mysqld]
basedir=/data/bin/ps-5.5
datadir=/data/dev/t1/mysql.1/data
tmpdir=/data/dev/t1/mysql.1/tmp
port=10000
socket=/data/dev/t1/mysql.1/mysql.sock
pid-file=/data/dev/t1/mysql.1/mysql.pid
console
user=root
server-id=1
innodb_buffer_pool_size=1G
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_flush_method=ALL_O_DIRECT
innodb_log_file_size=512M
innodb_track_changed_pages=1

Reproduced this on two different machines. Set innodb_track_changed_pages=0, delete datadir and re-create w/ mysql_install_db and server starts fine.

If I remove the innodb_flush_method but leave innodb_track_changed_pages=1, server will start fine so seems to be some interaction between the two.

summary: - mysql fails to start with innodb_track_changed_pages=1
+ mysql fails to start with innodb_track_changed_pages=1 and
+ innodb_flush_method=ALL_O_DIRECT
description: updated
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Yup, a known issue...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.