github-actions[bot] commented on code in PR #64108:
URL: https://github.com/apache/doris/pull/64108#discussion_r3354177970


##########
be/src/vec/common/hash_table/join_hash_table.h:
##########
@@ -211,7 +211,8 @@ class JoinHashTable {
 
             /// If the probe key is null
             if (build_idx == bucket_size) {
-                probe_idx++;
+                build_idx = 0;
+                picking_null_keys = false;

Review Comment:
   This loses the sentinel that the caller relies on for nullable probe keys. 
In `do_process`, the special path that preserves a null probe key is only 
entered when `build_index == hash_table_ctx.hash_table->get_bucket_size()`; by 
resetting `build_idx` to 0 here, `current_offset` remains 0 and `probe_idx` is 
returned unchanged. That means the caller emits an empty block and does not 
advance past this probe row, so a nullable probe row in a null-aware join with 
other conjuncts can be dropped or cause repeated empty output instead of being 
processed by `_process_probe_null_key`. Please keep enough state for the caller 
to recognize the null-probe-key case while also avoiding the incorrect 
decrement at the end of this function.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to