You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by al...@apache.org on 2025/04/29 12:37:35 UTC
(datafusion) branch main updated: Set HashJoin seed (#15783)
This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new e1ad767700 Set HashJoin seed (#15783)
e1ad767700 is described below
commit e1ad76770037df6d178c687c87dbfb51a4222746
Author: Christian <93...@users.noreply.github.com>
AuthorDate: Tue Apr 29 14:37:26 2025 +0200
Set HashJoin seed (#15783)
* Set HashJoin seed
* fmt
* whitespace grr
* Document hash seed
Co-authored-by: Alex Huang <hu...@gmail.com>
---------
Co-authored-by: Alex Huang <hu...@gmail.com>
---
datafusion/physical-plan/src/joins/hash_join.rs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/datafusion/physical-plan/src/joins/hash_join.rs b/datafusion/physical-plan/src/joins/hash_join.rs
index e8904db0f3..a3db764911 100644
--- a/datafusion/physical-plan/src/joins/hash_join.rs
+++ b/datafusion/physical-plan/src/joins/hash_join.rs
@@ -86,6 +86,10 @@ use datafusion_physical_expr_common::physical_expr::fmt_sql;
use futures::{ready, Stream, StreamExt, TryStreamExt};
use parking_lot::Mutex;
+/// Hard-coded seed to ensure hash values from the hash join differ from `RepartitionExec`, avoiding collisions.
+const HASH_JOIN_SEED: RandomState =
+ RandomState::with_seeds('J' as u64, 'O' as u64, 'I' as u64, 'N' as u64);
+
/// HashTable and input data for the left (build side) of a join
struct JoinLeftData {
/// The hash table with indices into `batch`
@@ -385,7 +389,7 @@ impl HashJoinExec {
let (join_schema, column_indices) =
build_join_schema(&left_schema, &right_schema, join_type);
- let random_state = RandomState::with_seeds(0, 0, 0, 0);
+ let random_state = HASH_JOIN_SEED;
let join_schema = Arc::new(join_schema);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org