[MDEV-32161] 如果将mariadb的存储引擎设置为Mroonga,并且将配置项mroonga_dry_write值设置为off,执行以下sql语句会导致服务器的crash Created: 2023-09-13  Updated: 2023-09-13  Resolved: 2023-09-13

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - Mroonga
Affects Version/s: 11.2.0
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: li Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-32021 Server crash or assertion failure upo... Confirmed

 Description   

如果将mariadb的存储引擎设置为Mroonga,并且将配置项mroonga_dry_write值设置为off,执行update语句会导致服务器的crash,如果设置为on,则不会导致服务器crash。如果将存储引擎设置为别的(比如InnoDB,MyIsam等),也不会crash,所以应该是存储引擎mroonga存在逻辑漏洞。当mroonga_dry_write值为on时,数据不会实际写入mroonga数据库,为off时,数据会写入mroonga数据库.
reproduce sql:
Set mroonga_dry_write = off;
CREATE TABLE t (pk INT AUTO_INCREMENT, a INT, b INT, PRIMARY KEY (pk), KEY (a)) ENGINE=Mroonga;
INSERT INTO t (a, b) VALUES (0,1),(2,2);
CREATE TRIGGER tr AFTER UPDATE ON t FOR EACH ROW SET @a= 1;
UPDATE t SET b = 3 WHERE a = 0;


Generated at Thu Feb 08 10:29:17 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.