본문 바로가기
MySQL News&Article

MySQL Ver. 5.7.29 주요 버그 픽스 사항 정리

by 모모레 2021. 7. 23.
카테고리 내용
InnoDB -- 비교함수 사용시 Spatial Index의 non-leaf page에 대한 merge 처리 시 버그 픽스 
-- ALTER TABLE ... DISCARD TABLESPACE시 발생하는 hang에 대한 버그 픽스 
-- session temporary table에 대한 암묵적,명시적 secondary index lock conversion 제거 
-- 손상된 페이지에 delete-mared records에 대한 purge 작업을 하는 동안 tablespace에 대한 import 진행 시 assertion이 발생하지 않고 작업이 종료되도록 변경함. 
Replication GTID 모드, MASTER_AUTO_POSITION=1 옵션을 사용하여 리플리케이션을 구성할 때, 전달하여야 할 변경내역을 다 전달하지 못하면 ER_MASTER_HAS_PURGED_REQUIRED_GTIDS(1789)를 발생하게 변경하였다. 
기타 -- auto-increment 속성을 사용하는 컬럼이 있는 테이블에, 여러 세션에서 INSERT ... ON DUPLICATTE UPDATE 구문을 실행하는 경우 auto-increment 속성 컬럼에 명시적으로 값을 입력하지 않으면 unique index 오류로 작업이 실패할 수 있었던 버그를 수정했다.  
-- A and (B or C [ or ...]) 형식의 where 조건을 사용하는 SELECT 구문에 대해 서버가 예기치 못하게 죽는 현상을 버그 픽스함. 
-- 특정조건에서 read_only, super_read_only 시스템 변수가 동작하지 않던 버그 픽스. 

InnoDB: A comparison function found two records to be equal when attempting to merge non-leaf pages of a spatial index. The function was unable to handle this unexpected condition, which resulted in a long semaphore wait and an eventual assertion failure. (Bug #30287668)


InnoDB: An ALTER TABLE ... DISCARD TABLESPACE operation caused a hang condition. (Bug #29942556, Bug #30324703)


InnoDB: A code regression was addressed by prohibiting unnecessary implicit to explicit secondary index lock conversions for session temporary tables. (Bug #29718243)


InnoDB: A tablespace import operation raised an assertion when the cursor was positioned on a corrupted page while purging delete-marked records. Instead of asserting when encountering a corrupted page, the import operation is now terminated and an error is reported. (Bug #29454828, Bug #94541)

Replication: When GTIDs are enabled on a replication master and slave, and the slave connects to the master with the MASTER_AUTO_POSITION=1 option set, the master must send the slave all the transactions that the slave has not already received, committed, or both. If any of the transactions that should be sent by the master have been already purged from the master's binary log, the master sends the error ER_MASTER_HAS_PURGED_REQUIRED_GTIDS (1789) to the slave, and replication does not start.

The message provided for the error ER_MASTER_HAS_PURGED_REQUIRED_GTIDS has been changed to provide advice on the correct action in this situation, which is for the slave to replicate the missing transactions from another source, or for the slave to be replaced by a new slave created from a more recent backup. The message advises that the master's binary log expiration period can be revised to avoid the situation in future. In addition, the master now identifies the GTIDs of the purged transactions and supplies them in its error log in the warning message ER_FOUND_MISSING_GTIDS (11809), so that you do not need to calculate the missing GTIDs manually. (Bug #26004541, Bug #29769293

With multiple sessions executing concurrent INSERT ... ON DUPLICATE KEY UPDATE statements into a table with an AUTO_INCREMENT column but not specifying the AUTO_INCREMENT value, inserts could fail with a unique index violation. (Bug #30194841, Bug #96578)


A SELECT using a WHERE condition of the form A AND (B OR C [OR ...]) resulting in an impossible range led to an unplanned exit of the server. (Bug #29770705)

Under certain conditions, enabling the read_only or super_read_only system variable did not block concurrent DDL statements executed by users without the SUPER privilege. (Bug #28438114, Bug #91852)

 

참고 : https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-29.html