본문 바로가기
MySQL News&Article

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

by 모모레 2021. 7. 24.
카테고리 내용
InnoDB -- internal temporary table의 clustered index에 수정작업이 진행될 때, 해당 페이지가 flush 목록에 추가되지 않아서 잘못된 결과가 도출되는 버그가 수정됨. 
-- concurrent update 수행시 invalid 된 이전 레코드 값으로 인해 발생한 오류를 수정함. 
-- SHOW ENGINE INNODB MUTEX를 수행할때 사용하는 함수가 새 mutex를 동시에 추가하는 스레드와 격리되지 않아서 생기는 문제 해결함. 
-- buffer pool을 온라인상에 수정하여 크기를 줄일 때, 버퍼 제어 블록인 buf_block_t가 해제되어 Assertion failure를 수정함. 
-- START TRANSACTION WITH CONSISTENT SNAPSHOT 수행 시 range query에 대해 결과가 잘못된 경우가 발견되어 수정함. 
-- full-text 구문 검색 시 발생하는 assertion failure 수정함. 
-- 큰 테이블에서 장기간 수행되는 통계 계산 작업 수행 시 해당 테이블의 통계에 접근해야 하는 다른 작업이 실패되는 문제를 수정함. 
-- 동시에 2개의 커넥션이 동일한 transaction handler를 사용하려는 경우 쿼리 실행시 중지되는 문제를 수정함. 
Replication -- multi-threaded replication에서 session_track_gtids가 OWN_GTID로 설정되는 경우 발생한 성능 저하 문제를 해결함.
기타 -- 몇 INSERT 구문이 올바르게 처리되지 않는 문제 수정함. 
-- 몇몇 prepared statment로 인해 발생하는 비정상 종료 문제 수정함. 
-- sort buffer마다 허용되는 최대 키 수에 대한 설정값이 0으로 설정되어 버려서 발생하는 잘못된 ORDER BY 버그 수정 
-- full-text 검색 시 많은 수의 중첩된 인수로 인해 발생하는 문제 수정함. 
-- explicit_defaults-for_timestamp 이 비활성화 되고 timestamp not null로 선언된 generated column에 null값을 입력하려고 할때 CURRENT_TIMESTAP 값을 넣으려고 하는 시도가 거부되는 문제 수정함. 
-- SQL Layer에서 temporary table에 수행하는 작업 정보를 InnoDB에 잘못 전달하여 발생하는 assertion failure를 수정함. 

InnoDB: A query that updated the clustered index of an internal temporary table returned an incorrect result. The modified pages of the clustered index were not added to the flush list resulting in lost changes when the modified pages were evicted from the buffer pool. (Bug #31560679)

InnoDB: A failure occurred during a concurrent update operation. The failure was due to an invalid previous record value. (Bug #31205266, Bug #99286)

InnoDB: The function used to process the SHOW ENGINE INNODB MUTEX statement was insufficiently isolated from other threads adding new mutexes concurrently. (Bug #31105262)

InnoDB: The buffer control block structure (buf_block_t) was freed while reducing the size of the buffer pool, causing an assertion failure. The fix for this bug also backports important aspects of the fix for Bug #20735882 / Bug #76343, and replaces the internal buf_block_is_uncompressed() function with the buf_pointer_is_block_field_instance() function. The buf_block_is_uncompressed() function returned false in too many cases, affecting OLTP query throughput. (Bug #31036301, Bug #31389823)

InnoDB: In session started with START TRANSACTION WITH CONSISTENT SNAPSHOT, a range query returned a truncated result. The end range flag was not reset at the beginning of the index read resulting in an aborted read and missing rows. (Bug #30950714, Bug #98642)

InnoDB: A full-text phrase search raised an assertion failure. Thanks to TXSQL (Tencent MySQL) for the contribution. (Bug #30933728, Bug #31228694)

InnoDB: A long running statistics calculation operation on a large table blocked other operations requiring access to the table's statistics, causing those operations to fail. A new statistics calculation mutex was introduced, which permits concurrent access table statistics. Thanks to Kamil Holubicki for the contribution. (Bug #30607708)

InnoDB: Two connections attempted to use the same transaction handler object resulting in a stalled query. (Bug #30594501)

Replication: When the system variable session_track_gtids was set to OWN_GTID on a multithreaded replica, the replica’s performance would degrade over time and begin to lag behind the master. The cause was the buildup of the GTIDs recorded by the replica’s worker threads at each transaction commit, which increased the time taken by the worker threads to insert new ones. Session state tracking is now disabled for worker threads on a multithreaded replica. Thanks to Facebook for the contribution. (Bug #29049207, Bug #92964)

Some INSERT statements were not handled correctly. (Bug #31072198)

Certain prepared statements could cause an unexpected server exit. (Bug #30943963)

ORDER BY queries were not executed correctly when sort_buffer_size and max_sort_length were set to values which caused the internal limit on the maximum number of keys allowed per sort buffer to be set to 0. (Bug #30175483)

A large number of nested arguments in full-text search query caused an error. (Bug #29929684)

When explicit_defaults_for_timestamp was disabled and a NULL was inserted into a generated column declared as TIMESTAMP NOT NULL, the server would attempt to convert the inserted value to CURRENT_TIMESTAMP. Such an insertion is now rejected with ER_BAD_NULL_ERROR. (Bug #29449518)

An assertion could be raised when the SQL layer passed incorrect information to InnoDB about the type of operation to be performed on a temporary table. (Bug #22503696)