반응형

[MySQL] Stopping Purge/Resuming Purge in Error Logs

 

l  Version : MySQL 5.7 X

 

MySQL 5.7.X 운영환경에서 아래와 같은 로그가 잔뜩 기록되어 있었다. 계속해서 반복되는 Stoppoing purgeResuming purge는 오류로 기록되고 있지는 않았지만, 반복해서 남는 로그에 원인이 궁금했다.

023-11-22T15:27:13.249813Z 4 [Note] InnoDB: Stopping purge
2023-11-22T15:27:13.363487Z 4 [Note] InnoDB: Resuming purge
2023-11-22T15:27:13.462275Z 4 [Note] InnoDB: Stopping purge
2023-11-22T15:27:13.548486Z 4 [Note] InnoDB: Resuming purge

 

해당 로그에 관한 내용을 살펴보니 해당 로그는 테이블에서 TRUNCATE가 발생할 때 마다 기록되었다. 로그를 재현해 보기 위해 간단히 테이블을 생성하고 TRUNCATE 구문을 실행해 보았다. 해당 로그가 기록되기 위해서는 Vervos log 수준이 3으로 설정되어 있어야 한다.

show variables like 'log_error_verbosity%';

 

 

로그를 재현하기 위해 빈 테이블을 하나 생성하고, TRUNCATE 명령을 반복적으로 실행하였다.

mysql> create table t(id int primary key);
 
mysql> truncate table t;
 
mysql> truncate table t;
 
mysql> truncate table t;
 
mysql> truncate table t;

 

실행 결과 후 로그를 살펴보니 아래와 같이 로그가 기록된 것을 확인할 수 있었다.

 

 

자료를 찾다보니 이러한 상황은 이미 알려진 Bug로 리포팅이 되었다고 한다. 그리고 MySQL 8.0에서는 해결이 되었다고 한다. 아마도 MySQL 5.7.X202310월부터 EOL(End of Life)되었므로 아마도 기존 버전에는 더 이상 fix가 될것 같지 않은 개인적인 생각이 들며, 이 문제를 해결하기 위해서는 MySQL 8.0으로 업그레이드 또는 MySQL 5.7에서는 불필요하게 로그가 남지 않도록 verbos 로그 수준을 2로 조정하여 사용해야 할 듯하다.

 

[참고자료]

l  https://www.percona.com/blog/bug-stopping-purge-resuming-purge-in-error-logs

 

 

 

2023-12-01 / Sungwook Kang / http://sungwookkang.com

 

MySQL, Percona, InnoDB purge, TRUNCATE TABLE,  

 

반응형

+ Recent posts