Transaction execution mismatches-20250620
【摘要】 [mppdb@ecs-8869-0009 gaussdb]$ cat txninfer1.log--java.lang.AssertionError: Transaction execution mismatches its oracle-- at dbmsforge.gaussdb.oracle.GaussDBTxInferOracle.check(GaussDBTxInferOracle...
[mppdb@ecs-8869-0009 gaussdb]$ cat txninfer1.log
--java.lang.AssertionError: Transaction execution mismatches its oracle
-- at dbmsforge.gaussdb.oracle.GaussDBTxInferOracle.check(GaussDBTxInferOracle.java:99)
-- at dbmsforge.common.DatabaseTestTask.runDatabaseTest(DatabaseTestTask.java:66)
-- at dbmsforge.common.DatabaseTestTask.run(DatabaseTestTask.java:34)
-- at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
-- at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
-- at java.base/java.lang.Thread.run(Thread.java:834)
---- Time: 2025/06/20 17:12:15
-- Database: txninfer1
============Bug Report============
CREATE TABLE t0 (c1 BIGSERIAL, c2 SERIAL, PRIMARY KEY (c1, c2)) WITH (ORIENTATION=COLUMN, COLVERSION=2.0, ENABLE_DELTA=ON, COMPRESSION=HIGH) DISTRIBUTE BY REPLICATION;
CREATE TABLE t4 (c1 BIGSERIAL, c2 TIME(2) WITHOUT TIME ZONE, c3 NVARCHAR2 ARRAY NOT NULL, UNIQUE (c2, c1), UNIQUE (c3)) WITH (ORIENTATION=ROW) DISTRIBUTE BY REPLICATION;
INSERT INTO t0 (c1,c2) VALUES (1,1);
INSERT INTO t4 (c1,c2,c3) VALUES (1,'16:34:21.00','{"s","d","i","V","8"}');
CREATE INDEX i0 ON t0 USING psort (c1, c2) NULLS DISTINCT COMMENT 'text';
CREATE UNIQUE INDEX IF NOT EXISTS i2 ON t4 USING btree (c3, c1) COMMENT 'text';
-- Transaction 2, with statements:
START TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SELECT c1 AS ca1 FROM (SELECT ca7 AS ca2, ca5 AS ca3, ca6 AS ca4 FROM (SELECT ALL c3 AS ca5, c2 AS ca6, c2 AS ca7 FROM t4 LIMIT 1853782, 1736814715) ta1 WHERE (7) :: BOOLEAN) AS ta2, (SELECT ta4.c2 AS ca8 FROM ONLY t0, t0 AS ta3, t0 AS ta4 WHERE FALSE LIMIT 3414857936, 3192834378) AS ta5, ONLY t4;
SELECT ca4 AS ca1 FROM (SELECT c1 AS ca2, c2 AS ca3, c2 AS ca4 FROM t0 WHERE (67 BETWEEN round(-6.814815623331255E37) AND (mod(44, -78)) !) LIMIT 43756928, 1338772147) AS ta1;
COMMIT;
-- Transaction 4, with statements:
START TRANSACTION ISOLATION LEVEL REPEATABLE READ;
UPDATE ONLY t0 SET c1 = 4591254233157556409, c2 = 363620174;
UPDATE ONLY t0 SET c2 = 128670499, c1 = 3563068883355848137;
UPDATE t0 SET c2 = 1829744658, c1 = 1313168918855911743;
SELECT t0.c1 AS ca1 FROM ONLY t4, ONLY t0, (SELECT ALL c2 AS ca2 FROM t0 WHERE (((('L') NOT LIKE ((octet_length('hciBzQKFPdFRdZAZ')) :: TEXT)) OR (((-1.6541187712688261E308) IS NULL))) IS NOT NULL) LIMIT ALL) ta1 WHERE (((-8.713288883469342E307) / (1.7976931348623157E308)) IS NOT NULL) LIMIT 650511327, ALL;
ROLLBACK;
Input schedule: [4-0, 4-1, 4-2, 4-3, 4-4, 2-0, 4-5, 2-1, 2-2, 2-3]
Error: Inconsistent final database state in t4
Error: The size of query results is different
Execution Result:
Schedule: [4-0, 4-1, 4-2, 4-3, 4-4, 2-0, 4-5, 2-1, 2-2, 2-3]
Isolation Level: REPEATABLE_READ
Transaction Statement Results:
4-0: null
4-1: null
4-2: null
4-3: null
4-4: empty
2-0: null
4-5: null
2-1: empty
2-2: empty
2-3: null
DB Final State: [t4: [1, 16:34:21, {s,d,i,V,8}] t0: [1, 1] ]
Oracle Result:
Schedule: [4-0, 4-1, 4-2, 4-3, 4-4, 2-0, 4-5, 2-1, 2-2, 2-3]
Isolation Level: REPEATABLE_READ
Transaction Statement Results:
4-0: null
4-1: null
4-2: null
4-3: null
4-4: empty
2-0: null
4-5: null
2-1: empty
2-2: empty
2-3: null
DB Final State: [t4: [1, 16:34:21, {s,d,i,V,8}, 1] t0: [1, 1, 1] ]
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)