Unexpected error "other error for mpp stream: Code: 49, e.displayText() = DB::Exception: Check eq_column->isColumnNullable() failed..."
Open
Nobody has claimed this yet.
component/compute
contribution
type/bug
- Dominant language
- C++
- Stars
- 1k
- Forks
- 423
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 24
Description
Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)
DROP TABLE IF EXISTS tb0;
DROP TABLE IF EXISTS tb1;
DROP TABLE IF EXISTS tb2;
CREATE TABLE tb0 (c0 SMALLINT UNSIGNED NOT NULL, c1 CHAR(32) NOT NULL, c2 SMALLINT UNSIGNED, c3 SMALLINT NOT NULL, c4 TINYINT NOT NULL);
CREATE TABLE tb1 (c0 VARCHAR(83) NOT NULL, c1 VARCHAR(43) NOT NULL, c2 VARCHAR(252) NOT NULL, c3 TEXT);
CREATE TABLE tb2 (c0 INT NOT NULL, c1 TINYINT, c2 INT UNSIGNED NOT NULL);
INSERT INTO tb0 (c0, c1, c2, c3, c4) VALUES (1124, 'PM44xNioOoMlgi4WfU1VSXZnYtURaY4u', 963, 30606, -24);
INSERT INTO tb0 (c0, c1, c2, c3, c4) VALUES (30147, 'GQYj1rLh2FPNtB9Y6m1szlolaxpnuf4o', 9769, -1067, 14);
INSERT INTO tb0 (c0, c1, c2, c3, c4) VALUES (11638, 'bKPZDRO1Rh5lWgsQHkcJkO6FTPtb9hqg', 5621, 22128, 90);
INSERT INTO tb0 (c0, c1, c2, c3, c4) VALUES (32322, 'dsLVcMQ6IodnZNWu2O7vSeaPc57Nir6U', 12988, 3269, 79), (18730, 'dyQfYAz1NnOkOD4r8LQFIKVTckNssdQ6', 25098, 24588, 40);
INSERT INTO tb0 (c0, c1, c2, c3, c4) VALUES (10443, 'MFFL9l2nE6SeRxvsl97jo0jy0q1NyXyX', 32417, -6473, 125);
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('GDicHGBclmrgjMpK', 'N', '7', 'TBp');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('o1HPaSD9Dkaf3A6fNj8iYCjpWQUuPy6IljPp2pVNvv07FQ5', 'mrMqroH0sin', 'G32Cg4OpDJuuK6v1SfmkP3t4COhZN5XGffb2DxAXIXI2Mg8Z', 'RYHC178GM'), ('2uwmTUBPAiU9QwjuExrJy', '6jnm2wtw6Of6YYE2uTLjDxIGKLkE', '48bh76WcJDxgr8GtFaAy6ZtBLgEm1LwdLRBSF9jJtboNXPqMM', 'sOtFhxpCtCwV7ihmD7gXTItHHdjImtHuXLD4A3bx4BzUyzdLJRx');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('wa28JJEW8yzOIBKRkaIwF7lwiv5cut6sS', 'pdhJ2NU8ZMAEEq69aUMwqvGlx', 'THv68LF72KotGc9FGcKMWaGymWHgN6VAGArDRSdqFJDq', NULL), ('TQkvg9rffXNz8SxhI4TyY82', 'DGYoV', '', 'mqKgyWK'), ('3iHFGk1M', 'kdVHnAoWAsbWTvQQ86EknNCWUkzjbpSGVMjV5hcb1', 'ggUDTPfEbnoe5zjLM', 'RUrk'), ('t8tv1fFvdzfPcBUL8nHE0Sf92X6A', 'eWns6HJ', 'atxqJ5msceUeDRTU', 'WMu');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('9EajHxuKZHKO8Xz1q69nT2MuUz03l8Q9G', 'Im25geFn2bjzsvUJPp90TWuc70Nf2', 'dO4gWwG5dw5KgTyvZYgtosDhUjiidEXvulbbpILGr', 'j9Vkfjhn2LkZYuhzua8aNmJYrb5fZx6mRhMz3qsQSpdNIjO8yS3');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('0ldTNUUJDjYj3ukNVpuP7mO2kAEjxQjTa1nWzo1pkqs3rRXNZW', 'KbYWRuwqCwmOKl7dXOvL8eA1qu6wpJfOsj', 'RdctB4EJ', 'yCKAVFfsqV6ZbtWOCa5rwn8euQcw3rkbr9PjTRJegOtvLB2g1VKUxXMm4bi9bR4uaDBSjvRI07tepF8u82Kbs'), ('B55Exr26to', 'Pc9kHLBu90NqYFtV4HPEQjSdPm02oxv1QBwfYVpDAL', 'Ax7y', 'b6uR1tW'), ('CV83qZNs2SKe9knwkoyGucuovK1Ehdt3K3FEZccdxsFobe', 'oml13RAxAUXm6aG9tETgbHuxwl', 'yF0e0UXkR4aoeoVD', '5rlDTFogWJS0'), ('kKtNc9rGND36H', 'Mx6RKWPGZu2qnmHrFseGvoCnPjfy3wYW', '3', 'sd0pgVgUaeDExntrpUASRd1g5YJ6'), ('lMeu9uIxLQg32XS2EfMaaegfRpl44z', 'nKjR5bABr6', 'JgPz4NafRGP1Dwk8ilhkVhIeUPXvIuJzv0Tl48ZMEePO82T8ci', 'zUmEyaZvh2g5rM05zJZlhG6u8GtYzwBJb');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('RSDazGJTUps0PnjI37dvBLPDEAE1LZX', 'e0ZFSbX4QyNVwlRwWL5eWc', 'PLIshVBuOjW1gRthQpFmU5HDM9OXbiB5', 'E14'), ('XW7zLR', 'bpk', '8y3', 'O');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('1pAe9BfM2jUuv0dKKf5TF4VYIqFKP7YjbokneTX93hLHT2u6', '0bd46IUSMvnJjjuXStuZZOuJRmh7I', 'ISEvOA9NRJA5m7gVmUKkF', 'T38LuREIelWhClG0iCSaV'), ('FnynMzLgYponr81U7BppngH9eR', 'uPgJM4eFhK4CZ3BKMsBKaxEilM3GEE', 'oY', 'rweeQCdraO9YEqEGtUD9MW1PIw'), ('9hRf8OcNJDaiPEk2YulMRu251cqA8fyaBDbemlQu8pxpvBKH', 'ESh6LsnxVdfsI25G1QiN8q7UXzzkzOkpCht', 'wse1cbxj7ACmP1iIZTuy94Bi6ii6Hp', ''), ('eKgzX3iLh7BD9IZd4RoYKn8rm0UyPNTQkRUGoIVJUk', 'YOTwjTclmMNJzp1SwTWneVFAVYRrxZ59inKrc5', 'BLgR9KRzwE7HkQyoy', NULL);
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('Sc7tZJmiuCNCLH', 'dEOqAf1pUtDz0XzZLHXYeQ1fajEehdpfzkS9u84x', 'hZmDwQexbydr39nZoaJviVS', '2RBAKV'), ('XmTuWDch', 'NR10ciuZQacq0oMYmB0MClxZVyj6vVOx', 'P7Egb1k7eGiMQxswvQYVDy6RZAXTpONXFNV9', '242eF8twvjSpotv1RTVLETeT2joZoeGhTeetKo1Gmc4z2YBAoniOwWfrKnFi9Pvc5KnbxmdmZGiFTU'), ('120ZbThSn1M7P2vAgEc8J', 'LDoF6u', 'gO862kXAJko1ifZt', 'XJGPWbVw'), ('OQ69sC', 'eY0i', 'iljV', 'pAweVuBN9L0WjmhEn0etHO');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('6seQ7V4iuHVq8DTWpVv2l6NzctCj5O', 'rPpNbKgBVKRP', 'vKK7LMTmiyC2hMzrLaDBUisscCK28hF6O', 'doz2GUI88HrnhpfjS8iXs29Uat7CcL'), ('Ww9ThgAF1zCoP6mCO627A4hO', 'iZPIDQ', 'bfIx9xcKbJrMsDwHs0x8jThf3g6X3KReEP6cxOfWZx', 'JLv6'), ('mWQeZOD3qF1WZrHwVXeVMbA', '6cms4Zh2djlT0x9', 'YDHoTHAyvdQ1ceekupyo9aHXfR6gxGhAKfzpFQrzATfztlIyo', 'ChXSzoKjnKizEeiwgD3j1zvYphFpHM35weYUQcrSaJIhQWd58g1WoGy3dP9ff1dl2zQnBXZ8thpBDJ7qNR'), ('DbqGlI1bUEQB5kC5psQU', 't7iJ3MwS1bTui86tELl', 'AnYL0', 'rnZX9iGVfphM25PP1'), ('xbOIft4yc9BQ3AgapJu3BgFc9', 'qMKmfb1btzCJSN2SVbZkDhHGr', 'TbXZeEkTTaXH', 'iczUyYtksz5QbBI');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('JHUSBBtZrmMPHpGAVAVccwtQfJ', 'gr2MUA656udf', 'qeTYOmAwPFZ6Kosi2sXLZ6d8XYzvWGsqX', '4Ly8kTLMghircf9LWhah');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('17pfrMJMnOp69cXgbKUQHTZjXZmPnvYaq', 'KgVRzuRGqjkB', '6FUo9e', '3KyCCEBVcRZffT7Opn'), ('noHhnngqesF5ekMrpD8N', 'a4gnZOEdCFlhOGRt', 'jJFZcNRtnR5C0sBJYIEu', 'ZyzdGqkffiASyZ5Y2No08sHKUd5wETD');
INSERT INTO tb1 (c0, c1, c2, c3) VALUES ('g4BXXg4Mxi7WTQEF', '39xFK0KSXN', 'DVB9D', 'Goo2y28iCLOElK0ThbJv15zlyW9sUQPYvf3vHE0Cmf14uh2BogGyL'), ('y6vH6ras2Brlqtt1PRsaWQ6Q97PtZ34vnXtWkR', 'asJupvst21S6F3C6sMEjiGS2hkM', '239wlu95qcsmFNLza1hgc45eX', 'EVLBVolyfkSb978yDn');
INSERT INTO tb2 (c0, c1, c2) VALUES (1180983002, -17, 1035504422), (-124638233, -19, 1910340414), (1228072744, 13, 3521347718);
INSERT INTO tb2 (c0, c1, c2) VALUES (386941946, -78, 1034254330);
INSERT INTO tb2 (c0, c1, c2) VALUES (-486333998, -6, 2690659523), (-1433580118, 65, 2046890720), (1109737542, -18, 21062306), (-331719887, -3, 671392608);
INSERT INTO tb2 (c0, c1, c2) VALUES (469369525, -103, 3539841899), (254700504, -34, 64240040), (-460455787, 73, 3778327398), (-2121045631, 16, 3145679891);
INSERT INTO tb2 (c0, c1, c2) VALUES (266887727, -125, 2462514369), (1669148072, 17, 4138923438);
INSERT INTO tb2 (c0, c1, c2) VALUES (1871540039, -112, 502874628);
INSERT INTO tb2 (c0, c1, c2) VALUES (-1657881093, -61, 1859290584);
INSERT INTO tb2 (c0, c1, c2) VALUES (-532029068, NULL, 807579433);
INSERT INTO tb2 (c0, c1, c2) VALUES (1835242946, -67, 2999261086);
INSERT INTO tb2 (c0, c1, c2) VALUES (-1500278027, -50, 226455684), (572079802, -121, 2519518856), (-796935291, 90, 3315289198), (680089081, 115, 2206649707);
INSERT INTO tb2 (c0, c1, c2) VALUES (242525943, 21, 1484079800);
INSERT INTO tb2 (c0, c1, c2) VALUES (-1264994609, 121, 660269015), (-1121582967, 122, 3631225274), (1504044714, -58, 1193678288);
INSERT INTO tb2 (c0, c1, c2) VALUES (1815456414, 29, 316404904);
INSERT INTO tb2 (c0, c1, c2) VALUES (-1428140167, 126, 1294979235);
INSERT INTO tb2 (c0, c1, c2) VALUES (-1392667820, 125, 2731971338), (1794662085, 46, 3213826329), (-875079806, 126, 2295237155);
INSERT INTO tb2 (c0, c1, c2) VALUES (2053707235, NULL, 3280289540);
INSERT INTO tb2 (c0, c1, c2) VALUES (136028352, -30, 3252309228), (-1334128333, -85, 215440761), (1362264320, -27, 2208060942);
INSERT INTO tb2 (c0, c1, c2) VALUES (-56211269, 29, 152923802), (-1368267452, -122, 1185423865), (-40720747, 6, 3223679895), (-1044299630, -73, 1714105411), (-776352726, -47, 3833898495);
INSERT INTO tb2 (c0, c1, c2) VALUES (1999298832, 51, 264337631);
INSERT INTO tb2 (c0, c1, c2) VALUES (-872256924, 34, 2456701219);
INSERT INTO tb2 (c0, c1, c2) VALUES (-1321228432, -35, 2805527624);
INSERT INTO tb2 (c0, c1, c2) VALUES (103504061, -115, 3458150683);
INSERT INTO tb2 (c0, c1, c2) VALUES (784327277, 8, 1059827309);
INSERT INTO tb2 (c0, c1, c2) VALUES (1412473962, -75, 2008023783), (1086916395, -108, 3250686536);
INSERT INTO tb2 (c0, c1, c2) VALUES (9821703, 84, 671766984);
INSERT INTO tb2 (c0, c1, c2) VALUES (-145034261, -126, 771494276);
ALTER TABLE tb0 SET TIFLASH REPLICA 1;
ALTER TABLE tb1 SET TIFLASH REPLICA 1;
ALTER TABLE tb2 SET TIFLASH REPLICA 1;
SELECT /*+ read_from_storage(tiflash[t0,t1]) */ t0.c2 AS col_0 FROM tb1 AS t0 INNER JOIN (SELECT /*+ read_from_storage(tiflash[t0]) */ t0.c2 AS col_0, t0.c0 AS col_1 FROM tb1 AS t0) AS t1 ON (t0.c2 = t1.col_0) WHERE (IF(t0.c2, t0.c0, false) NOT IN (SELECT /*+ read_from_storage(tiflash[t0]) */ t0.c1 FROM tb1 AS t0 WHERE (NOT (t1.col_0 != t0.c2)))) ORDER BY t1.col_0 DESC, t0.c0 ASC, t0.c2 ASC;
2. What did you expect to see? (Required)
no error
3. What did you see instead (Required)
[HY000][1105] other error for mpp stream: Code: 49, e.displayText() = DB::Exception: Check eq_column->isColumnNullable() failed: The null-aware equal condition column should be nullable, otherwise Anti/LeftAnti/LeftSemi should be used instead, e.what() = DB::Exception
4. What is your TiFlash version? (Required)
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tidb_version() |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Release Version: v9.0.0-beta.2.pre-250-ga6d415f24a
Edition: Community
Git Commit Hash: a6d415f24a7d182ebca3d189c457d9044537028f
Git Branch: HEAD
UTC Build Time: 2025-08-03 10:01:12
GoVersion: go1.23.11
Race Enabled: false
Check Table Before Drop: false
Store: tikv
Kernel Type: Classic |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided SQL reproduction on TiFlash v9.0.0-beta.2.pre-250-ga6d415f24a, including the TIFLASH replica setup and final SELECT. Trace the resulting MPP stream error around the null-aware equality condition; done means the query completes without the reported exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100