MySQL 5.6.29, Percona xtrabackup 2.1.9
apply-log 시 마지막 단계에서 assertion failure 발생
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown…
2016-04-25 18:05:41 7f7fd164f700 InnoDB: Assertion failure in thread 140186950629120 in file buf0flu.cc line 2501
InnoDB: Failing assertion: UT_LIST_GET_LEN(buf_pool->flush_list) == 0
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: about forcing recovery.
innobackupex: xtrabackup (2nd execution) failed at /usr/bin/innobackupex line 2572.
현재 2.2, 2.3 버전에서 fix 릴리즈가 된 것으로 보이나 2.1 은 아님
Fixed Percona XtraBackup assertion caused by dirty pages remaining in the buffer pool after the log was fully applied. Bug fixed #1368846.
Looking at the stack trace I see pending IO complete (read)
operations which caused ibuf merge. This merge happened after
page_cleaner thread stopped, so there were no thread to flush dirty
pages from buffer pool. We should not allow page_cleaner to stop
when there are pending reads.
페이지클리너가 스탑된 상태에서 ibuf merge 발생시 버퍼풀에서 더티페이지 플러싱할 쓰레드가 없어서 에러, 펜딩된 읽기작업이 있을 때 페이지클리너를 스탑시키지 않게끔 하였음
결론은 .. 업데이트 해야할 때