This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push: new 3620e4cc1e [fix](join) fix wrong result of null aware left anti join (#17750) 3620e4cc1e is described below commit 3620e4cc1e604b942256940f76181f6cc6349fc4 Author: TengJianPing <18241664+jackte...@users.noreply.github.com> AuthorDate: Mon Mar 13 23:28:13 2023 +0800 [fix](join) fix wrong result of null aware left anti join (#17750) When enable shared hash table for broadcast, if null value of probe side appears in fragment instance that DID NOT build hash table, `_probe_ignore_null` is not set to true and null value of probe side is treated as normal data, which result in wrong result. (regression test case test_null_aware_left_anti_join.groovy) --- be/src/vec/exec/join/vhash_join_node.cpp | 2 +- fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/be/src/vec/exec/join/vhash_join_node.cpp b/be/src/vec/exec/join/vhash_join_node.cpp index e7ff1f474e..587b1d65b9 100644 --- a/be/src/vec/exec/join/vhash_join_node.cpp +++ b/be/src/vec/exec/join/vhash_join_node.cpp @@ -783,7 +783,7 @@ Status HashJoinNode::_materialize_build_side(RuntimeState* state) { } // Since the comparison of null values is meaningless, null aware left anti join should not output null // when the build side is not empty. - if (eos && !_build_blocks->empty() && _join_op == TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) { + if (!_build_blocks->empty() && _join_op == TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) { _probe_ignore_null = true; } return Status::OK(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java index cb07e4d6e8..0a58ffb537 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -661,7 +661,7 @@ public class SessionVariable implements Serializable, Writable { @VariableMgr.VarAttr(name = PARTITIONED_HASH_JOIN_ROWS_THRESHOLD, fuzzy = true) public int partitionedHashJoinRowsThreshold = 0; - @VariableMgr.VarAttr(name = ENABLE_SHARE_HASH_TABLE_FOR_BROADCAST_JOIN) + @VariableMgr.VarAttr(name = ENABLE_SHARE_HASH_TABLE_FOR_BROADCAST_JOIN, fuzzy = true) public boolean enableShareHashTableForBroadcastJoin = true; @VariableMgr.VarAttr(name = GROUP_CONCAT_MAX_LEN) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org