首批通过分布式安全可靠测评,为关键业务系统打造
PX+UDF 函数+索引,PX 和索引并发,直接报事务 6220 错误或在报事务 6220 之后因超时时间过长反复重试,执行时间过长
更新时间:2026-05-15 09:06
问题现象
跑批期间遇到,在 insert into select 语句中触发反复重试导致无法执行完成。
日志中报错 6220,存在反复重试直到查询超时。
问题诊断
事前巡检
SQL 存在 UDF,且 UDF 中会执行 SQL。
有 PX 执行 (存在分区表,或 SQL 涉及的表在多台机器上),UDF 出现在执行计划中 PX COORDINATOR 子 PLAN 以外的算子中。如下面执行计划: 11、12、13、14 算子属于 PX COORDINATOR 子 PLAN,UDF 出现在 19 号算子,则属于此类情况。
执行计划示例。
========================================================================================== |ID|OPERATOR |NAME |EST. ROWS|COST | ------------------------------------------------------------------------------------------ |0 |MULTI PARTITION INSERT | |1 |1182995| |1 | SUBPLAN SCAN |VIEW1 |1 |1182995| |2 | SEQUENCE | |1 |1182995| |3 | SUBPLAN SCAN | |1 |1182995| |4 | WINDOW FUNCTION | |34023 |1181766| |5 | SORT | |34023 |1163697| |6 | MERGE ANTI JOIN | |34023 |1156594| |7 | SORT | |34024 |1154592| |8 | NESTED-LOOP JOIN | |34024 |1066929| |9 | NESTED-LOOP OUTER JOIN | |34264 |502144 | |10| NESTED-LOOP OUTER JOIN | |34264 |323158 | |11| PX COORDINATOR | |34264 |144172 | |12| EXCHANGE OUT DISTR |:EX10000 |34264 |130462 | |13| PX PARTITION ITERATOR| |34264 |130462 | |14| TABLE SCAN |A1 |34264 |130462 | |15| TABLE LOOKUP |A2 |1 |4 | |16| TABLE SCAN |A2(PK_T_LI_COUT_ACTIVITY) |1 |1 | |17| TABLE LOOKUP |A3 |1 |4 | |18| TABLE SCAN |A3(PK_T_LI_COUT_ACTIVITY) |1 |1 | |19| TABLE LOOKUP |N |1 |16 | |20| TABLE SCAN |N(PK_T_LI_COUT_NEWPOLICY_INFO_1)|1 |5 | |21| SUBPLAN SCAN |VIEW2 |1066 |1273 | |22| TABLE SCAN |T(PK_ETL_XINGMU_EXP_PCS) |1066 |1257 | ========================================================================================== Outputs & filters: ------------------------------------- 0 - output([VIEW1.XINGMU_EXP_L_ID(0x7ed281c77e80)], [VIEW1.DATA_ID(0x7ed281c78170)], [VIEW1.POLICY_NO(0x7ed281c7a470)], [VIEW1.CLASS_CODE(0x7ed281c7a760)], [VIEW1.STATUS(0x7ed281c7aa50)], [?], [VIEW1.STATUS_TIME(0x7ed281c7ad40)], [VIEW1.COUT_MODE(0x7ed281c7b030)], [VIEW1.OUT_FLG(0x7ed281c7b320)], [VIEW1.CRT_USER_ID(0x7ed281c7b610)], [VIEW1.CRT_DTTM(0x7ed281c7b900)], [VIEW1.LASTUPT_USER_ID(0x7ed281c7bbf0)], [VIEW1.LASTUPT_DTTM(0x7ed281c7bee0)], [VIEW1.ACT1_ID(0x7ed281c7c1d0)], [VIEW1.ACT2_ID(0x7ed281c7c4c0)], [VIEW1.ACT3_ID(0x7ed281c7c7b0)], [ora_decode(E.OUT_FLG(0x7e79298c0d40), '0', '0')(0x7ed281cfa870)]), filter(nil), columns([{ETL_XINGMU_EXP_L: ({ETL_XINGMU_EXP_L: (E.XINGMU_EXP_L_ID(0x7e79298be3b0), E.DATA_ID(0x7e79298be9a0), E.POLICY_NO(0x7e79298bef90), E.CLASS_CODE(0x7e79298bf580), E.STATUS(0x7e79298bfb70), E.RESULT(0x7ed281c7f170), E.STATUS_TIME(0x7e79298c0160), E.COUT_MODE(0x7e79298c0750), E.OUT_FLG(0x7e79298c0d40), E.CRT_USER_ID(0x7e79298c1330), E.CRT_DTTM(0x7e79298c1920), E.LASTUPT_USER_ID(0x7e79298c1f10), E.LASTUPT_DTTM(0x7e79298c2500), E.ACT1_ID(0x7e79298c2af0), E.ACT2_ID(0x7e79298c30e0), E.ACT3_ID(0x7e79298c36d0), E.SYS_NC32$(0x7ed281c81470))})}]), partitions(p0) 1 - output([VIEW1.XINGMU_EXP_L_ID(0x7ed281c77e80)], [VIEW1.DATA_ID(0x7ed281c78170)], [VIEW1.POLICY_NO(0x7ed281c7a470)], [VIEW1.CLASS_CODE(0x7ed281c7a760)], [VIEW1.STATUS(0x7ed281c7aa50)], [VIEW1.STATUS_TIME(0x7ed281c7ad40)], [VIEW1.COUT_MODE(0x7ed281c7b030)], [VIEW1.OUT_FLG(0x7ed281c7b320)], [VIEW1.CRT_USER_ID(0x7ed281c7b610)], [VIEW1.CRT_DTTM(0x7ed281c7b900)], [VIEW1.LASTUPT_USER_ID(0x7ed281c7bbf0)], [VIEW1.LASTUPT_DTTM(0x7ed281c7bee0)], [VIEW1.ACT1_ID(0x7ed281c7c1d0)], [VIEW1.ACT2_ID(0x7ed281c7c4c0)], [VIEW1.ACT3_ID(0x7ed281c7c7b0)]), filter(nil), access([VIEW1.XINGMU_EXP_L_ID(0x7ed281c77e80)], [VIEW1.DATA_ID(0x7ed281c78170)], [VIEW1.POLICY_NO(0x7ed281c7a470)], [VIEW1.CLASS_CODE(0x7ed281c7a760)], [VIEW1.STATUS(0x7ed281c7aa50)], [VIEW1.STATUS_TIME(0x7ed281c7ad40)], [VIEW1.COUT_MODE(0x7ed281c7b030)], [VIEW1.OUT_FLG(0x7ed281c7b320)], [VIEW1.CRT_USER_ID(0x7ed281c7b610)], [VIEW1.CRT_DTTM(0x7ed281c7b900)], [VIEW1.LASTUPT_USER_ID(0x7ed281c7bbf0)], [VIEW1.LASTUPT_DTTM(0x7ed281c7bee0)], [VIEW1.ACT1_ID(0x7ed281c7c1d0)], [VIEW1.ACT2_ID(0x7ed281c7c4c0)], [VIEW1.ACT3_ID(0x7ed281c7c7b0)]) 2 - output([SEQ_XINGMU_EXP_L_ID.NEXTVAL(0x7e8ae6506cb0)], [.DATA_ID(0x7e8ae6504390)], [.POLICY_NO(0x7e8ae6504680)], [.CLASS_CODE(0x7e8ae6504970)], [.STATUS(0x7e8ae6504c60)], [.STATUS_TIME(0x7e8ae6504f50)], [.COUT_MODE(0x7e8ae6505240)], [.OUT_FLG(0x7e8ae6505530)], [.CRT_USER_ID(0x7e8ae6505820)], [.CRT_DTTM(0x7e8ae6505b10)], [.LASTUPT_USER_ID(0x7e8ae6505e00)], [.LASTUPT_DTTM(0x7e8ae65060f0)], [.ACT1_ID(0x7e8ae65063e0)], [.ACT2_ID(0x7e8ae65066d0)], [.ACT3_ID(0x7e8ae65069c0)]), filter(nil) 3 - output([.DATA_ID(0x7e8ae6504390)], [.POLICY_NO(0x7e8ae6504680)], [.CLASS_CODE(0x7e8ae6504970)], [.STATUS(0x7e8ae6504c60)], [.STATUS_TIME(0x7e8ae6504f50)], [.COUT_MODE(0x7e8ae6505240)], [.OUT_FLG(0x7e8ae6505530)], [.CRT_USER_ID(0x7e8ae6505820)], [.CRT_DTTM(0x7e8ae6505b10)], [.LASTUPT_USER_ID(0x7e8ae6505e00)], [.LASTUPT_DTTM(0x7e8ae65060f0)], [.ACT1_ID(0x7e8ae65063e0)], [.ACT2_ID(0x7e8ae65066d0)], [.ACT3_ID(0x7e8ae65069c0)]), filter([.SEQ(0x7e8ae65040a0) = 1(0x7e8ae65077a0)]), access([.SEQ(0x7e8ae65040a0)], [.DATA_ID(0x7e8ae6504390)], [.POLICY_NO(0x7e8ae6504680)], [.CLASS_CODE(0x7e8ae6504970)], [.STATUS(0x7e8ae6504c60)], [.STATUS_TIME(0x7e8ae6504f50)], [.COUT_MODE(0x7e8ae6505240)], [.OUT_FLG(0x7e8ae6505530)], [.CRT_USER_ID(0x7e8ae6505820)], [.CRT_DTTM(0x7e8ae6505b10)], [.LASTUPT_USER_ID(0x7e8ae6505e00)], [.LASTUPT_DTTM(0x7e8ae65060f0)], [.ACT1_ID(0x7e8ae65063e0)], [.ACT2_ID(0x7e8ae65066d0)], [.ACT3_ID(0x7e8ae65069c0)]) 4 - output([NVL(NVL(A3.DATA_ID(0x7e8ae65c3720), A2.DATA_ID(0x7e8ae65c5a20))(0x7e8ae65d4a10), A1.DATA_ID(0x7e8ae65c5d10))(0x7e8ae65d41e0)], [N.POLICY_NO(0x7e8ae65c19c0)], [N.CLASS_CODE(0x7e8ae65c10f0)], ['95'], [?], [A1.COUT_MODE(0x7e8ae65c62f0)], ['0'], [?], [?], [?], [?], [CASE WHEN (T_OP_IS_NOT, A3.ACT_ID(0x7e8ae65c2e50), NULL, 0)(0x7e8ae65d6d50) THEN A3.ACT_ID(0x7e8ae65c2e50) WHEN (T_OP_IS, A3.ACT_ID(0x7e8ae65c2e50), NULL, 0)(0x7e8ae65d8330) AND (T_OP_IS_NOT, A2.ACT_ID(0x7e8ae65c2580), NULL, 0)(0x7e8ae65d90c0)(0x7e8ae65d7ae0) THEN A2.ACT_ID(0x7e8ae65c2580) ELSE A1.ACT_ID(0x7e8ae65c6000) END(0x7e8ae65d6430)], [CASE WHEN (T_OP_IS_NOT, A3.ACT_ID(0x7e8ae65c2e50), NULL, 0)(0x7e8ae65da770) THEN A2.ACT_ID(0x7e8ae65c2580) WHEN (T_OP_IS, A3.ACT_ID(0x7e8ae65c2e50), NULL, 0)(0x7e8ae65dbd50) AND (T_OP_IS_NOT, A2.ACT_ID(0x7e8ae65c2580), NULL, 0)(0x7e8ae65dcae0)(0x7e8ae65db500) THEN A1.ACT_ID(0x7e8ae65c6000) ELSE NULL END(0x7e8ae65d9e50)], [CASE WHEN (T_OP_IS_NOT, A3.ACT_ID(0x7e8ae65c2e50), NULL, 0)(0x7e8ae65de420) THEN A1.ACT_ID(0x7e8ae65c6000) ELSE NULL END(0x7e8ae65ddb00)], [T_WIN_FUN_ROW_NUMBER()(0x7e8ae65cfd80)]), filter(nil), win_expr(T_WIN_FUN_ROW_NUMBER()(0x7e8ae65cfd80)), partition_by([N.POLICY_NO(0x7e8ae65c19c0)], [N.CLASS_CODE(0x7e8ae65c10f0)]), order_by([A1.ACT_ID(0x7e8ae65c6000), ASC]), window_type(RANGE), upper(UNBOUNDED PRECEDING), lower(UNBOUNDED FOLLOWING) 5 - output([N.POLICY_NO(0x7e8ae65c19c0)], [N.CLASS_CODE(0x7e8ae65c10f0)], [A1.COUT_MODE(0x7e8ae65c62f0)], [A3.ACT_ID(0x7e8ae65c2e50)], [A2.ACT_ID(0x7e8ae65c2580)], [A1.ACT_ID(0x7e8ae65c6000)], [NVL(NVL(A3.DATA_ID(0x7e8ae65c3720), A2.DATA_ID(0x7e8ae65c5a20))(0x7e8ae65d4a10), A1.DATA_ID(0x7e8ae65c5d10))(0x7e8ae65d41e0)]), filter(nil), sort_keys([N.POLICY_NO(0x7e8ae65c19c0), ASC], [N.CLASS_CODE(0x7e8ae65c10f0), ASC], [A1.ACT_ID(0x7e8ae65c6000), ASC]), prefix_pos(2) 6 - output([N.POLICY_NO(0x7e8ae65c19c0)], [N.CLASS_CODE(0x7e8ae65c10f0)], [A1.COUT_MODE(0x7e8ae65c62f0)], [A3.ACT_ID(0x7e8ae65c2e50)], [A2.ACT_ID(0x7e8ae65c2580)], [A1.ACT_ID(0x7e8ae65c6000)], [NVL(NVL(A3.DATA_ID(0x7e8ae65c3720), A2.DATA_ID(0x7e8ae65c5a20))(0x7e8ae65d4a10), A1.DATA_ID(0x7e8ae65c5d10))(0x7e8ae65d41e0)]), filter(nil), equal_conds([VIEW2.T.POLICY_NO(0x7e8ae65c65e0) = N.POLICY_NO(0x7e8ae65c19c0)(0x7e8ae65bf760)], [VIEW2.T.CLASS_CODE(0x7e8ae65c68d0) = N.CLASS_CODE(0x7e8ae65c10f0)(0x7e8ae65bffc0)]), other_conds(nil), merge_directions([ASC], [ASC]) 7 - output([N.POLICY_NO(0x7e8ae65c19c0)], [N.CLASS_CODE(0x7e8ae65c10f0)], [A1.COUT_MODE(0x7e8ae65c62f0)], [A3.ACT_ID(0x7e8ae65c2e50)], [A2.ACT_ID(0x7e8ae65c2580)], [A1.ACT_ID(0x7e8ae65c6000)], [NVL(NVL(A3.DATA_ID(0x7e8ae65c3720), A2.DATA_ID(0x7e8ae65c5a20))(0x7e8ae65d4a10), A1.DATA_ID(0x7e8ae65c5d10))(0x7e8ae65d41e0)]), filter(nil), sort_keys([N.POLICY_NO(0x7e8ae65c19c0), ASC], [N.CLASS_CODE(0x7e8ae65c10f0), ASC]) 8 - output([N.POLICY_NO(0x7e8ae65c19c0)], [N.CLASS_CODE(0x7e8ae65c10f0)], [A1.COUT_MODE(0x7e8ae65c62f0)], [A3.ACT_ID(0x7e8ae65c2e50)], [A2.ACT_ID(0x7e8ae65c2580)], [A1.ACT_ID(0x7e8ae65c6000)], [NVL(NVL(A3.DATA_ID(0x7e8ae65c3720), A2.DATA_ID(0x7e8ae65c5a20))(0x7e8ae65d4a10), A1.DATA_ID(0x7e8ae65c5d10))(0x7e8ae65d41e0)]), filter(nil), conds(nil), nl_params_([NVL(NVL(A3.DATA_ID(0x7e8ae65c3720), A2.DATA_ID(0x7e8ae65c5a20))(0x7e8ae65d4a10), A1.DATA_ID(0x7e8ae65c5d10))(0x7e8ae65d41e0)]), batch_join=false 9 - output([A3.DATA_ID(0x7e8ae65c3720)], [A2.DATA_ID(0x7e8ae65c5a20)], [A1.DATA_ID(0x7e8ae65c5d10)], [A1.COUT_MODE(0x7e8ae65c62f0)], [A3.ACT_ID(0x7e8ae65c2e50)], [A2.ACT_ID(0x7e8ae65c2580)], [A1.ACT_ID(0x7e8ae65c6000)]), filter(nil), conds(nil), nl_params_([A2.FIRST_ACT_ID(0x7e8ae65c2b60)]), batch_join=false 10 - output([A2.DATA_ID(0x7e8ae65c5a20)], [A1.DATA_ID(0x7e8ae65c5d10)], [A1.COUT_MODE(0x7e8ae65c62f0)], [A2.ACT_ID(0x7e8ae65c2580)], [A1.ACT_ID(0x7e8ae65c6000)], [A2.FIRST_ACT_ID(0x7e8ae65c2b60)]), filter(nil), conds(nil), nl_params_([A1.FIRST_ACT_ID(0x7e8ae65c2290)]), batch_join=false 11 - output([A1.FIRST_ACT_ID(0x7e8ae65c2290)], [A1.DATA_ID(0x7e8ae65c5d10)], [A1.ACT_ID(0x7e8ae65c6000)], [A1.COUT_MODE(0x7e8ae65c62f0)]), filter(nil) 12 - output([A1.FIRST_ACT_ID(0x7e8ae65c2290)], [A1.DATA_ID(0x7e8ae65c5d10)], [A1.ACT_ID(0x7e8ae65c6000)], [A1.COUT_MODE(0x7e8ae65c62f0)]), filter(nil), dop=1 13 - output([A1.FIRST_ACT_ID(0x7e8ae65c2290)], [A1.DATA_ID(0x7e8ae65c5d10)], [A1.ACT_ID(0x7e8ae65c6000)], [A1.COUT_MODE(0x7e8ae65c62f0)]), filter(nil), force partition granule, asc. 14 - output([A1.FIRST_ACT_ID(0x7e8ae65c2290)], [A1.DATA_ID(0x7e8ae65c5d10)], [A1.ACT_ID(0x7e8ae65c6000)], [A1.COUT_MODE(0x7e8ae65c62f0)]), filter([A1.CMP_TYPE_ID(0x7e8ae65c3140) IN (801, 5401, 27900, 28900)(0x7e8ae65ca4e0)(0x7e8ae65c9c00)], [A1.CMP_STATUS(0x7e8ae65c3430) IN ('-2', '01', '02', '06', '05', '07', '08', '09', '-1')(0x7e8ae65cdf90)(0x7e8ae65cb600)]), access([A1.FIRST_ACT_ID(0x7e8ae65c2290)], [A1.CMP_TYPE_ID(0x7e8ae65c3140)], [A1.CMP_STATUS(0x7e8ae65c3430)], [A1.DATA_ID(0x7e8ae65c5d10)], [A1.ACT_ID(0x7e8ae65c6000)], [A1.COUT_MODE(0x7e8ae65c62f0)]), partitions(p[117-143]), is_index_back=false, filter_before_indexback[false,false], range_key([A1.CRT_DTTM(0x7e8ae65c1cb0)], [A1.__pk_increment(0x7e8ae662fc20)]), range(2023-10-03 14:57:59,MAX ; NULL,MIN), range_cond([A1.CRT_DTTM(0x7e8ae65c1cb0) > ?(0x7e8ae65c8b40)]) 15 - output([A2.ACT_ID(0x7e8ae65c2580)], [A2.FIRST_ACT_ID(0x7e8ae65c2b60)], [A2.DATA_ID(0x7e8ae65c5a20)]), filter(nil), partitions(p[0-143]) 16 - output([A2.CRT_DTTM(0x7e8ae65c1fa0)], [A2.__pk_increment(0x7e97b5093fe0)]), filter(nil), access([A2.CRT_DTTM(0x7e8ae65c1fa0)], [A2.__pk_increment(0x7e97b5093fe0)]), partitions(p0), is_index_back=false, range_key([A2.ACT_ID(0x7e8ae65c2580)], [A2.shadow_pk_0(0x7e97b5094ab0)], [A2.shadow_pk_1(0x7e97b5094da0)]), range(MIN ; MAX), range_cond([? = A2.ACT_ID(0x7e8ae65c2580)(0x7e97b5208720)]) 17 - output([A3.ACT_ID(0x7e8ae65c2e50)], [A3.DATA_ID(0x7e8ae65c3720)]), filter(nil), partitions(p[0-143]) 18 - output([A3.CRT_DTTM(0x7e8ae65c2870)], [A3.__pk_increment(0x7e97b50f4ca0)]), filter(nil), access([A3.CRT_DTTM(0x7e8ae65c2870)], [A3.__pk_increment(0x7e97b50f4ca0)]), partitions(p0), is_index_back=false, range_key([A3.ACT_ID(0x7e8ae65c2e50)], [A3.shadow_pk_0(0x7e97b50f5770)], [A3.shadow_pk_1(0x7e97b50f5a60)]), range(MIN ; MAX), range_cond([? = A3.ACT_ID(0x7e8ae65c2e50)(0x7e97b5222720)]) 19 - output([N.CLASS_CODE(0x7e8ae65c10f0)], [N.POLICY_NO(0x7e8ae65c19c0)]), filter([LIFE.FUN_FREE_LOOK_PERIOD(N.CHANNEL_CODE(0x7e8ae65c0e00), N.CLASS_CODE(0x7e8ae65c10f0), N.REC_DATE(0x7e8ae65c13e0), N.HESITATE_DAY(0x7e8ae65c16d0))(0x7e8ae65c7420) <= ?(0x7e8ae65c6bc0)]), partitions(p[0-143]) 20 - output([N.POLICY_VALID_DATE(0x7e8ae65c0820)], [N.__pk_increment(0x7e97b515b820)]), filter(nil), access([N.POLICY_VALID_DATE(0x7e8ae65c0820)], [N.__pk_increment(0x7e97b515b820)]), partitions(p0), is_index_back=false, range_key([N.DATA_ID(0x7e8ae65c0b10)], [N.shadow_pk_0(0x7e97b515c2f0)], [N.shadow_pk_1(0x7e97b515c5e0)]), range(MIN ; MAX), range_cond([? = N.DATA_ID(0x7e8ae65c0b10)(0x7eecb3b23510)]) 21 - output([VIEW2.T.POLICY_NO(0x7e8ae65c65e0)], [VIEW2.T.CLASS_CODE(0x7e8ae65c68d0)]), filter(nil), access([VIEW2.T.POLICY_NO(0x7e8ae65c65e0)], [VIEW2.T.CLASS_CODE(0x7e8ae65c68d0)]) 22 - output([T.POLICY_NO(0x7e97b51c9170)], [T.CLASS_CODE(0x7e97b51c9460)]), filter([T.STATUS(0x7e97b51c9750) = '95'(0x7e97b51c9a40)]), access([T.POLICY_NO(0x7e97b51c9170)], [T.CLASS_CODE(0x7e97b51c9460)], [T.STATUS(0x7e97b51c9750)]), partitions(p0), is_index_back=false, filter_before_indexback[false], range_key([T.POLICY_NO(0x7e97b51c9170)], [T.CLASS_CODE(0x7e97b51c9460)], [T.STATUS(0x7e97b51c9750)], [T.shadow_pk_0(0x7e97b51f1a20)]), range(MIN,MIN,MIN,MIN ; MAX,MAX,MAX,MAX)always true Used Hint:
事后诊断
日志中是否在 PX 调用处存在 6220 报错。
如上述执行计划,存在 UDF FUN_FREE_LOOK_PERIOD(),且在 UDF 中会执行 SQL。UDF 也出现在 PX 子 PLAN 以外。
问题原因
SQL 中存在 UDF,且 UDF 中有 SQL 执行时,为保证事务语义,整个执行计划中触发的 SQL 只能串行执行。事务通过一套 SQL_NO 机制检查 UDF 中 SQL 是否串行执行,违背则报错 6220(SQL sequence illegal) 错误。
在上述执行计划中,PX 任务执行过程中,19 号算子的 UDF 触发了 SQL 执行,将事务 SQL_NO 推高,PX 任务执行结束检测到 SQL_NO 不匹配,报 6220 错误。
问题的风险及影响
持续报 6220 错误并重试到查询超时。
带 UDF,分布式且复杂 SQL 场景相对较少,并且即使出现此类计划,由于通常有阻塞算子(MATERAL、SORT、HASH GBY、HASH JOIN 等)存在,导致 UDF 与 PX 任务并不会真的并行执行,不会报错。风险较低。
影响租户
影响 OceanBase 数据库中的 Oracle 租户和 MySQL 租户,对于 SYS 租户无影响。
影响的版本
OceanBase 数据库企业版 V2.2.77 GA(oceanbase-2.2.77-20210508211731)及之后版本、V3.1.2 GA(oceanbase-3.1.2-20210618150922)及之后版本、V3.2.3 GA(oceanbase-3.2.3.0-20220418212020)及之后版本、V3.2.4 GA(oceanbase-3.2.4.0-100000072022102819)及之后版本。
规避方式
通过 HINT 指定或通过 OUTLINE 绑定 NO_USE_PX HINT,使用老分布式执行绕过该问题。