By current design (with a bug fixed in MDEV-11814, and to be changed in MDEV-12700), innodb_read_only startup will be refused unless the redo log and the change buffer are empty.
As always with this message, the problem was caused by an earlier server startup. In this case, by the immediately preceding startup:
2018-02-03 11:23:15 1412 [Note] InnoDB: Highest supported file format is Barracuda.
|
2018-02-03 11:23:15 1412 [Note] InnoDB: The log sequence number 939315 in ibdata file do not match the log sequence number 939943 in the ib_logfiles!
|
2018-02-03 11:23:15 1412 [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
|
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
|
InnoDB: in total 2 row operations to undo
|
InnoDB: Trx id counter is 3840
|
2018-02-03 11:23:18 1412 [Warning] InnoDB: Resizing redo log from 3*640 to 2*640 pages, LSN=939943
|
2018-02-03 11:23:19 1412 [ERROR] Plugin 'InnoDB' init function returned error.
|
2018-02-03 11:23:19 1412 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
|
For the second warning, the cause is in the immediately preceding startup:
2018-02-03 11:23:50 6316 [Note] InnoDB: Highest supported file format is Barracuda.
|
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
|
InnoDB: in total 2 row operations to undo
|
InnoDB: Trx id counter is 3840
|
2018-02-03 11:23:50 6316 [Warning] InnoDB: Resizing redo log from 3*640 to 2*640 pages, LSN=939943
|
2018-02-03 11:23:50 6316 [ERROR] Plugin 'InnoDB' init function returned error.
|
2018-02-03 11:23:50 6316 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
|
This very test is injecting such faults, and it is passing for me locally:
innodb.log_file_size '8k,innodb_plugin' [ pass ] 44599
|
innodb.log_file_size '8k,xtradb' [ pass ] 46367
|
I do not see the message Can't initiate database in the server error log. It looks like it is only reported when the FIL_PAGE_FILE_FLUSH_LSN in the first page of the system tablespace file ibdata1 does not match the redo log checkpoint:
2018-02-03 11:23:26 6864 [Note] InnoDB: The log sequence number 939315 in ibdata file do not match the log sequence number 939943 in the ib_logfiles!
|
2018-02-03 11:23:26 6864 [ERROR] InnoDB: Can't initiate database recovery, running in read-only-mode.
|
So, this failure should be fixed by call mtr.add_suppression().
By current design (with a bug fixed in
MDEV-11814, and to be changed inMDEV-12700), innodb_read_only startup will be refused unless the redo log and the change buffer are empty.As always with this message, the problem was caused by an earlier server startup. In this case, by the immediately preceding startup:
2018-02-03 11:23:15 1412 [Note] InnoDB: Highest supported file format is Barracuda.
2018-02-03 11:23:15 1412 [Note] InnoDB: The log sequence number 939315 in ibdata file do not match the log sequence number 939943 in the ib_logfiles!
2018-02-03 11:23:15 1412 [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
InnoDB: in total 2 row operations to undo
InnoDB: Trx id counter is 3840
2018-02-03 11:23:18 1412 [Warning] InnoDB: Resizing redo log from 3*640 to 2*640 pages, LSN=939943
2018-02-03 11:23:19 1412 [ERROR] Plugin 'InnoDB' init function returned error.
2018-02-03 11:23:19 1412 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
For the second warning, the cause is in the immediately preceding startup:
2018-02-03 11:23:50 6316 [Note] InnoDB: Highest supported file format is Barracuda.
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
InnoDB: in total 2 row operations to undo
InnoDB: Trx id counter is 3840
2018-02-03 11:23:50 6316 [Warning] InnoDB: Resizing redo log from 3*640 to 2*640 pages, LSN=939943
2018-02-03 11:23:50 6316 [ERROR] Plugin 'InnoDB' init function returned error.
2018-02-03 11:23:50 6316 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
This very test is injecting such faults, and it is passing for me locally:
innodb.log_file_size '8k,innodb_plugin' [ pass ] 44599
innodb.log_file_size '8k,xtradb' [ pass ] 46367
I do not see the message Can't initiate database in the server error log. It looks like it is only reported when the FIL_PAGE_FILE_FLUSH_LSN in the first page of the system tablespace file ibdata1 does not match the redo log checkpoint:
2018-02-03 11:23:26 6864 [Note] InnoDB: The log sequence number 939315 in ibdata file do not match the log sequence number 939943 in the ib_logfiles!
2018-02-03 11:23:26 6864 [ERROR] InnoDB: Can't initiate database recovery, running in read-only-mode.
So, this failure should be fixed by call mtr.add_suppression().