BiteTheDDDDt opened a new pull request, #63345:
URL: https://github.com/apache/doris/pull/63345

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: None
   
   Problem Summary:
   
   For shared hash table hash joins, the builder task may leave 
`process_build_block()` before the hash table is actually built, for example 
when the build side returns an error before the EOS build step completes. In 
that state the shared hash table variant can still be `monostate`.
   
   `HashJoinBuildSinkLocalState::close()` previously set `_signaled = true` 
whenever the builder was not terminated. That wakes non-builder tasks even when 
the shared hash table was never built, so they can reach the shared hash table 
copy path and report a misleading `Hash table type mismatch when share hash 
table` instead of preserving the original build-side error.
   
   This PR gates `_signaled` on the actual shared hash table state. Non-builder 
tasks are signaled only when the builder is not terminated and the shared hash 
table variant is no longer `monostate`. If the builder closes after an error 
before the hash table is built, `_signaled` stays false and non-builders take 
the existing EOF guard instead of visiting an unbuilt hash table.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test: Unit Test
       - `./run-be-ut.sh --run 
--filter=SharedHashTableSignalTest.UnbuiltHashTableDoesNotSignal -j 8`
       - `build-support/check-format.sh`
       - `build-support/run-clang-tidy.sh --build-dir be/ut_build_ASAN` was 
attempted; it reports pre-existing complexity diagnostics in the touched hash 
join files and `jni-util.h` static assertions.
   - Behavior changed: No
   - Does this need documentation: No
   


-- 
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