You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by yu...@apache.org on 2022/11/02 10:06:11 UTC
[spark] branch master updated: [SPARK-40248][SQL] Use larger number of bits to build Bloom filter
This is an automated email from the ASF dual-hosted git repository.
yumwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new d627d8e4f48 [SPARK-40248][SQL] Use larger number of bits to build Bloom filter
d627d8e4f48 is described below
commit d627d8e4f4802b8200574a1a73c4bebe5d813a5a
Author: Yuming Wang <yu...@ebay.com>
AuthorDate: Wed Nov 2 18:05:54 2022 +0800
[SPARK-40248][SQL] Use larger number of bits to build Bloom filter
### What changes were proposed in this pull request?
This PR makes Bloom filter join use larger number of bits to build Bloom filter if row count is exist.
### Why are the changes needed?
To fix Bloom filter join cannot filter out more data when CBO is enabled. For example: TPC-DS q64:
CBO is enabled | CBO is disabled
-- | --
<img width="282" height="600" alt="image" src="https://user-images.githubusercontent.com/5399861/187076753-2e9ccc72-0289-4537-a6d9-3a01a37bf6cd.png"> | <img width="373" height="600" alt="image" src="https://user-images.githubusercontent.com/5399861/187076786-c982e711-52e2-4199-ba42-e1100f57287b.png">
<img width="532" height="400" alt="image" src="https://user-images.githubusercontent.com/5399861/187075553-bd6956b7-8f1f-4df5-82b7-d010defb6d21.png"> | <img width="622" height="400" alt="image" src="https://user-images.githubusercontent.com/5399861/187075588-254c3246-b9af-403c-8df7-d8344fd1d2a4.png">
After this PR:
Build bloom filter | Filter data
-- | --
<img width="262" height="600" alt="image" src="https://user-images.githubusercontent.com/5399861/187075676-85b2afae-03a0-4430-9c4e-2679c6ef62f7.png"> | <img width="509" height="600" alt="image" src="https://user-images.githubusercontent.com/5399861/187075713-41173dc1-d01d-476a-b218-5c67be823e1b.png">
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Unit test.
Closes #37697 from wangyum/SPARK-40248.
Lead-authored-by: Yuming Wang <yu...@ebay.com>
Co-authored-by: Yuming Wang <wg...@gmail.com>
Signed-off-by: Yuming Wang <yu...@ebay.com>
---
.../org/apache/spark/util/sketch/BloomFilter.java | 9 ++++++++
.../aggregate/BloomFilterAggregate.scala | 16 +++++++++++----
.../catalyst/optimizer/InjectRuntimeFilter.scala | 3 +--
.../approved-plans-modified/q10.sf100/explain.txt | 8 ++++----
.../q10.sf100/simplified.txt | 2 +-
.../approved-plans-modified/q59.sf100/explain.txt | 16 +++++++--------
.../q59.sf100/simplified.txt | 4 ++--
.../approved-plans-v1_4/q10.sf100/explain.txt | 8 ++++----
.../approved-plans-v1_4/q10.sf100/simplified.txt | 2 +-
.../approved-plans-v1_4/q16.sf100/explain.txt | 24 +++++++++++-----------
.../approved-plans-v1_4/q16.sf100/simplified.txt | 6 +++---
.../approved-plans-v1_4/q2.sf100/explain.txt | 16 +++++++--------
.../approved-plans-v1_4/q2.sf100/simplified.txt | 4 ++--
.../approved-plans-v1_4/q32.sf100/explain.txt | 8 ++++----
.../approved-plans-v1_4/q32.sf100/simplified.txt | 2 +-
.../approved-plans-v1_4/q40.sf100/explain.txt | 8 ++++----
.../approved-plans-v1_4/q40.sf100/simplified.txt | 2 +-
.../approved-plans-v1_4/q59.sf100/explain.txt | 16 +++++++--------
.../approved-plans-v1_4/q59.sf100/simplified.txt | 4 ++--
.../approved-plans-v1_4/q64.sf100/explain.txt | 8 ++++----
.../approved-plans-v1_4/q64.sf100/simplified.txt | 2 +-
.../approved-plans-v1_4/q69.sf100/explain.txt | 8 ++++----
.../approved-plans-v1_4/q69.sf100/simplified.txt | 2 +-
.../approved-plans-v1_4/q80.sf100/explain.txt | 16 +++++++--------
.../approved-plans-v1_4/q80.sf100/simplified.txt | 4 ++--
.../approved-plans-v1_4/q85.sf100/explain.txt | 16 +++++++--------
.../approved-plans-v1_4/q85.sf100/simplified.txt | 4 ++--
.../approved-plans-v1_4/q92.sf100/explain.txt | 8 ++++----
.../approved-plans-v1_4/q92.sf100/simplified.txt | 2 +-
.../approved-plans-v1_4/q94.sf100/explain.txt | 24 +++++++++++-----------
.../approved-plans-v1_4/q94.sf100/simplified.txt | 6 +++---
.../approved-plans-v1_4/q95.sf100/explain.txt | 24 +++++++++++-----------
.../approved-plans-v1_4/q95.sf100/simplified.txt | 6 +++---
.../approved-plans-v2_7/q10a.sf100/explain.txt | 8 ++++----
.../approved-plans-v2_7/q10a.sf100/simplified.txt | 2 +-
.../approved-plans-v2_7/q64.sf100/explain.txt | 8 ++++----
.../approved-plans-v2_7/q64.sf100/simplified.txt | 2 +-
.../approved-plans-v2_7/q80a.sf100/explain.txt | 16 +++++++--------
.../approved-plans-v2_7/q80a.sf100/simplified.txt | 4 ++--
.../spark/sql/BloomFilterAggregateQuerySuite.scala | 17 +++++++++++++++
40 files changed, 189 insertions(+), 156 deletions(-)
diff --git a/common/sketch/src/main/java/org/apache/spark/util/sketch/BloomFilter.java b/common/sketch/src/main/java/org/apache/spark/util/sketch/BloomFilter.java
index 2a6e270a912..5c01841e501 100644
--- a/common/sketch/src/main/java/org/apache/spark/util/sketch/BloomFilter.java
+++ b/common/sketch/src/main/java/org/apache/spark/util/sketch/BloomFilter.java
@@ -207,6 +207,15 @@ public abstract class BloomFilter {
static final double DEFAULT_FPP = 0.03;
+ /**
+ * Computes m (total bits of Bloom filter) which is expected to achieve.
+ * The smaller the expectedNumItems, the smaller the fpp.
+ */
+ public static long optimalNumOfBits(long expectedNumItems, long maxNumItems, long maxNumOfBits) {
+ double fpp = Math.min(expectedNumItems / (maxNumItems / DEFAULT_FPP), DEFAULT_FPP);
+ return Math.min(optimalNumOfBits(expectedNumItems, fpp), maxNumOfBits);
+ }
+
/**
* Creates a {@link BloomFilter} with the expected number of insertions and a default expected
* false positive probability of 3%.
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/BloomFilterAggregate.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/BloomFilterAggregate.scala
index 5b78c5b5228..980785e764c 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/BloomFilterAggregate.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/BloomFilterAggregate.scala
@@ -27,6 +27,7 @@ import org.apache.spark.sql.catalyst.expressions._
import org.apache.spark.sql.catalyst.expressions.Cast.{toSQLExpr, toSQLId, toSQLType, toSQLValue}
import org.apache.spark.sql.catalyst.trees.TernaryLike
import org.apache.spark.sql.internal.SQLConf
+import org.apache.spark.sql.internal.SQLConf.{RUNTIME_BLOOM_FILTER_MAX_NUM_BITS, RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS}
import org.apache.spark.sql.types._
import org.apache.spark.util.sketch.BloomFilter
@@ -56,6 +57,13 @@ case class BloomFilterAggregate(
Multiply(estimatedNumItemsExpression, Literal(8L)))
}
+ def this(child: Expression, estimatedNumItems: Long) = {
+ this(child, Literal(estimatedNumItems),
+ Literal(BloomFilter.optimalNumOfBits(estimatedNumItems,
+ SQLConf.get.getConf(RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS),
+ SQLConf.get.getConf(RUNTIME_BLOOM_FILTER_MAX_NUM_BITS))))
+ }
+
def this(child: Expression) = {
this(child, Literal(SQLConf.get.getConf(SQLConf.RUNTIME_BLOOM_FILTER_EXPECTED_NUM_ITEMS)),
Literal(SQLConf.get.getConf(SQLConf.RUNTIME_BLOOM_FILTER_NUM_BITS)))
@@ -109,8 +117,8 @@ case class BloomFilterAggregate(
)
} else {
require(estimatedNumItems <=
- SQLConf.get.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS))
- require(numBits <= SQLConf.get.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_BITS))
+ SQLConf.get.getConf(RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS))
+ require(numBits <= SQLConf.get.getConf(RUNTIME_BLOOM_FILTER_MAX_NUM_BITS))
TypeCheckSuccess
}
case _ =>
@@ -135,12 +143,12 @@ case class BloomFilterAggregate(
// Mark as lazy so that `estimatedNumItems` is not evaluated during tree transformation.
private lazy val estimatedNumItems: Long =
Math.min(estimatedNumItemsExpression.eval().asInstanceOf[Number].longValue,
- SQLConf.get.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS))
+ SQLConf.get.getConf(RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS))
// Mark as lazy so that `numBits` is not evaluated during tree transformation.
private lazy val numBits: Long =
Math.min(numBitsExpression.eval().asInstanceOf[Number].longValue,
- SQLConf.get.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_BITS))
+ SQLConf.get.getConf(RUNTIME_BLOOM_FILTER_MAX_NUM_BITS))
override def first: Expression = child
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/InjectRuntimeFilter.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/InjectRuntimeFilter.scala
index 8c63012c681..62782f6051b 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/InjectRuntimeFilter.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/InjectRuntimeFilter.scala
@@ -77,8 +77,7 @@ object InjectRuntimeFilter extends Rule[LogicalPlan] with PredicateHelper with J
val rowCount = filterCreationSidePlan.stats.rowCount
val bloomFilterAgg =
if (rowCount.isDefined && rowCount.get.longValue > 0L) {
- new BloomFilterAggregate(new XxHash64(Seq(filterCreationSideExp)),
- Literal(rowCount.get.longValue))
+ new BloomFilterAggregate(new XxHash64(Seq(filterCreationSideExp)), rowCount.get.longValue)
} else {
new BloomFilterAggregate(new XxHash64(Seq(filterCreationSideExp)))
}
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/explain.txt
index efd0db46b9f..8e472ce0479 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/explain.txt
@@ -304,7 +304,7 @@ Input [2]: [ca_address_sk#19, ca_county#20]
(53) ObjectHashAggregate
Input [1]: [ca_address_sk#19]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 20440, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 57765, 0, 0)]
Aggregate Attributes [1]: [buf#39]
Results [1]: [buf#40]
@@ -315,9 +315,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=7]
(55) ObjectHashAggregate
Input [1]: [buf#40]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 20440, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 20440, 0, 0)#41]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 20440, 0, 0)#41 AS bloomFilter#42]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 57765, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 57765, 0, 0)#41]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#19, 42), 2555, 57765, 0, 0)#41 AS bloomFilter#42]
Subquery:2 Hosting operator id = 6 Hosting Expression = ws_sold_date_sk#7 IN dynamicpruning#8
BroadcastExchange (60)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/simplified.txt
index 9adf7d0719d..4ac6e8e08a0 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q10.sf100/simplified.txt
@@ -25,7 +25,7 @@ TakeOrderedAndProject [cd_gender,cd_marital_status,cd_education_status,cd_purcha
WholeStageCodegen (1)
Filter [c_customer_sk,c_current_addr_sk,c_current_cdemo_sk]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 2555, 20440, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 2555, 57765, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/explain.txt
index c021a12eca0..5ce802dabc2 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/explain.txt
@@ -348,7 +348,7 @@ Input [2]: [d_month_seq#40, d_week_seq#41]
(59) ObjectHashAggregate
Input [1]: [d_week_seq#41]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)]
Aggregate Attributes [1]: [buf#85]
Results [1]: [buf#86]
@@ -359,9 +359,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10]
(61) ObjectHashAggregate
Input [1]: [buf#86]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)#87]
-Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)#87 AS bloomFilter#88]
+Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)#87]
+Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)#87 AS bloomFilter#88]
Subquery:2 Hosting operator id = 31 Hosting Expression = Subquery scalar-subquery#52, [id=#53]
ObjectHashAggregate (68)
@@ -394,7 +394,7 @@ Input [2]: [d_month_seq#68, d_week_seq#69]
(66) ObjectHashAggregate
Input [1]: [d_week_seq#69]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 2680, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 8990, 0, 0)]
Aggregate Attributes [1]: [buf#89]
Results [1]: [buf#90]
@@ -405,8 +405,8 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=11]
(68) ObjectHashAggregate
Input [1]: [buf#90]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 2680, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 2680, 0, 0)#91]
-Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 2680, 0, 0)#91 AS bloomFilter#92]
+Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 8990, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 8990, 0, 0)#91]
+Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#69, 42), 335, 8990, 0, 0)#91 AS bloomFilter#92]
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/simplified.txt
index 9825affd389..534396577ab 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-modified/q59.sf100/simplified.txt
@@ -22,7 +22,7 @@ TakeOrderedAndProject [s_store_name1,s_store_id1,d_week_seq1,(sun_sales1 / sun_s
WholeStageCodegen (1)
Filter [d_date_sk,d_week_seq]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 2680, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 8990, 0, 0),bloomFilter,buf]
Exchange #3
ObjectHashAggregate [d_week_seq] [buf,buf]
WholeStageCodegen (1)
@@ -72,7 +72,7 @@ TakeOrderedAndProject [s_store_name1,s_store_id1,d_week_seq1,(sun_sales1 / sun_s
WholeStageCodegen (5)
Filter [d_date_sk,d_week_seq]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 2680, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 8990, 0, 0),bloomFilter,buf]
Exchange #9
ObjectHashAggregate [d_week_seq] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/explain.txt
index 7163f161188..d3434fd6be9 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/explain.txt
@@ -320,7 +320,7 @@ Input [2]: [ca_address_sk#18, ca_county#19]
(56) ObjectHashAggregate
Input [1]: [ca_address_sk#18]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)]
Aggregate Attributes [1]: [buf#38]
Results [1]: [buf#39]
@@ -331,9 +331,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9]
(58) ObjectHashAggregate
Input [1]: [buf#39]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)#40]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)#40 AS bloomFilter#41]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)#40]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)#40 AS bloomFilter#41]
Subquery:2 Hosting operator id = 6 Hosting Expression = ss_sold_date_sk#9 IN dynamicpruning#10
BroadcastExchange (63)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/simplified.txt
index 7930a3a4516..9528756e264 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q10.sf100/simplified.txt
@@ -32,7 +32,7 @@ TakeOrderedAndProject [cd_gender,cd_marital_status,cd_education_status,cd_purcha
WholeStageCodegen (1)
Filter [c_current_addr_sk,c_current_cdemo_sk]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 2555, 20440, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 2555, 57765, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/explain.txt
index 79c4fa5c0a4..aadf72d0af2 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/explain.txt
@@ -291,7 +291,7 @@ Input [2]: [ca_address_sk#20, ca_state#21]
(50) ObjectHashAggregate
Input [1]: [ca_address_sk#20]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)]
Aggregate Attributes [1]: [buf#35]
Results [1]: [buf#36]
@@ -302,9 +302,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=8]
(52) ObjectHashAggregate
Input [1]: [buf#36]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)#37]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)#37 AS bloomFilter#38]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)#37]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)#37 AS bloomFilter#38]
Subquery:2 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#11, [id=#12]
ObjectHashAggregate (59)
@@ -337,7 +337,7 @@ Input [2]: [cc_call_center_sk#22, cc_county#23]
(57) ObjectHashAggregate
Input [1]: [cc_call_center_sk#22]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 32, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 144, 0, 0)]
Aggregate Attributes [1]: [buf#39]
Results [1]: [buf#40]
@@ -348,9 +348,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9]
(59) ObjectHashAggregate
Input [1]: [buf#40]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 32, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 32, 0, 0)#41]
-Results [1]: [bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 32, 0, 0)#41 AS bloomFilter#42]
+Functions [1]: [bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 144, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 144, 0, 0)#41]
+Results [1]: [bloom_filter_agg(xxhash64(cc_call_center_sk#22, 42), 4, 144, 0, 0)#41 AS bloomFilter#42]
Subquery:3 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#13, [id=#14]
ObjectHashAggregate (66)
@@ -383,7 +383,7 @@ Input [2]: [d_date_sk#24, d_date#25]
(64) ObjectHashAggregate
Input [1]: [d_date_sk#24]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)]
Aggregate Attributes [1]: [buf#43]
Results [1]: [buf#44]
@@ -394,8 +394,8 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10]
(66) ObjectHashAggregate
Input [1]: [buf#44]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)#45]
-Results [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)#45 AS bloomFilter#46]
+Functions [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)#45]
+Results [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)#45 AS bloomFilter#46]
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/simplified.txt
index 4978dd33735..def1677f944 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16.sf100/simplified.txt
@@ -26,7 +26,7 @@ WholeStageCodegen (12)
Project [cs_ship_date_sk,cs_ship_addr_sk,cs_call_center_sk,cs_warehouse_sk,cs_order_number,cs_ext_ship_cost,cs_net_profit]
Filter [cs_ship_date_sk,cs_ship_addr_sk,cs_call_center_sk]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 17961, 143688, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 17961, 333176, 0, 0),bloomFilter,buf]
Exchange #3
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
@@ -36,7 +36,7 @@ WholeStageCodegen (12)
InputAdapter
Scan parquet spark_catalog.default.customer_address [ca_address_sk,ca_state]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(cc_call_center_sk, 42), 4, 32, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(cc_call_center_sk, 42), 4, 144, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [cc_call_center_sk] [buf,buf]
WholeStageCodegen (1)
@@ -46,7 +46,7 @@ WholeStageCodegen (12)
InputAdapter
Scan parquet spark_catalog.default.call_center [cc_call_center_sk,cc_county]
Subquery #3
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_date_sk, 42), 73049, 584392, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_date_sk, 42), 73049, 1141755, 0, 0),bloomFilter,buf]
Exchange #5
ObjectHashAggregate [d_date_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/explain.txt
index da1ba5bd46d..3b189de7d34 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/explain.txt
@@ -323,7 +323,7 @@ Input [2]: [d_week_seq#42, d_year#43]
(56) ObjectHashAggregate
Input [1]: [d_week_seq#42]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 2896, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 9656, 0, 0)]
Aggregate Attributes [1]: [buf#85]
Results [1]: [buf#86]
@@ -334,9 +334,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9]
(58) ObjectHashAggregate
Input [1]: [buf#86]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 2896, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 2896, 0, 0)#87]
-Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 2896, 0, 0)#87 AS bloomFilter#88]
+Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 9656, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 9656, 0, 0)#87]
+Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#42, 42), 362, 9656, 0, 0)#87 AS bloomFilter#88]
Subquery:2 Hosting operator id = 33 Hosting Expression = Subquery scalar-subquery#52, [id=#53]
ObjectHashAggregate (65)
@@ -369,7 +369,7 @@ Input [2]: [d_week_seq#68, d_year#69]
(63) ObjectHashAggregate
Input [1]: [d_week_seq#68]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 2896, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 9656, 0, 0)]
Aggregate Attributes [1]: [buf#89]
Results [1]: [buf#90]
@@ -380,8 +380,8 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10]
(65) ObjectHashAggregate
Input [1]: [buf#90]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 2896, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 2896, 0, 0)#91]
-Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 2896, 0, 0)#91 AS bloomFilter#92]
+Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 9656, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 9656, 0, 0)#91]
+Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#68, 42), 362, 9656, 0, 0)#91 AS bloomFilter#92]
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/simplified.txt
index e322eae9788..4fb858b4252 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q2.sf100/simplified.txt
@@ -31,7 +31,7 @@ WholeStageCodegen (13)
WholeStageCodegen (3)
Filter [d_date_sk,d_week_seq]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 362, 2896, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 362, 9656, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [d_week_seq] [buf,buf]
WholeStageCodegen (1)
@@ -80,7 +80,7 @@ WholeStageCodegen (13)
WholeStageCodegen (8)
Filter [d_date_sk,d_week_seq]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 362, 2896, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 362, 9656, 0, 0),bloomFilter,buf]
Exchange #9
ObjectHashAggregate [d_week_seq] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/explain.txt
index e91bca4b7c2..74b51485aea 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/explain.txt
@@ -205,7 +205,7 @@ Input [2]: [i_item_sk#1, i_manufact_id#2]
(34) ObjectHashAggregate
Input [1]: [i_item_sk#1]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)]
Aggregate Attributes [1]: [buf#24]
Results [1]: [buf#25]
@@ -216,9 +216,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=5]
(36) ObjectHashAggregate
Input [1]: [buf#25]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)#26]
-Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)#26 AS bloomFilter#27]
+Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)#26]
+Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)#26 AS bloomFilter#27]
Subquery:2 Hosting operator id = 6 Hosting Expression = cs_sold_date_sk#5 IN dynamicpruning#6
BroadcastExchange (41)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/simplified.txt
index 48c90602954..084b50e2c0e 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q32.sf100/simplified.txt
@@ -31,7 +31,7 @@ WholeStageCodegen (7)
BroadcastHashJoin [cs_sold_date_sk,d_date_sk]
Filter [cs_item_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 199, 1592, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 199, 5556, 0, 0),bloomFilter,buf]
Exchange #6
ObjectHashAggregate [i_item_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/explain.txt
index 9387f21d9c8..55ba768476e 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/explain.txt
@@ -221,7 +221,7 @@ Input [2]: [i_item_sk#13, i_current_price#15]
(38) ObjectHashAggregate
Input [1]: [i_item_sk#13]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 8152, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 24988, 0, 0)]
Aggregate Attributes [1]: [buf#32]
Results [1]: [buf#33]
@@ -232,9 +232,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=6]
(40) ObjectHashAggregate
Input [1]: [buf#33]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 8152, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 8152, 0, 0)#34]
-Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 8152, 0, 0)#34 AS bloomFilter#35]
+Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 24988, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 24988, 0, 0)#34]
+Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#13, 42), 1019, 24988, 0, 0)#34 AS bloomFilter#35]
Subquery:2 Hosting operator id = 1 Hosting Expression = cs_sold_date_sk#5 IN dynamicpruning#6
BroadcastExchange (44)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/simplified.txt
index e95fab855f3..4368e7b605c 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q40.sf100/simplified.txt
@@ -21,7 +21,7 @@ TakeOrderedAndProject [w_state,i_item_id,sales_before,sales_after]
WholeStageCodegen (1)
Filter [cs_warehouse_sk,cs_item_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 1019, 8152, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 1019, 24988, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [i_item_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/explain.txt
index 05660cb90fa..1aa4410e295 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/explain.txt
@@ -348,7 +348,7 @@ Input [2]: [d_month_seq#40, d_week_seq#41]
(59) ObjectHashAggregate
Input [1]: [d_week_seq#41]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)]
Aggregate Attributes [1]: [buf#88]
Results [1]: [buf#89]
@@ -359,9 +359,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10]
(61) ObjectHashAggregate
Input [1]: [buf#89]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)#90]
-Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 2680, 0, 0)#90 AS bloomFilter#91]
+Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)#90]
+Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#41, 42), 335, 8990, 0, 0)#90 AS bloomFilter#91]
Subquery:2 Hosting operator id = 31 Hosting Expression = Subquery scalar-subquery#52, [id=#53]
ObjectHashAggregate (68)
@@ -394,7 +394,7 @@ Input [2]: [d_month_seq#70, d_week_seq#71]
(66) ObjectHashAggregate
Input [1]: [d_week_seq#71]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 2680, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 8990, 0, 0)]
Aggregate Attributes [1]: [buf#92]
Results [1]: [buf#93]
@@ -405,8 +405,8 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=11]
(68) ObjectHashAggregate
Input [1]: [buf#93]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 2680, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 2680, 0, 0)#94]
-Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 2680, 0, 0)#94 AS bloomFilter#95]
+Functions [1]: [bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 8990, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 8990, 0, 0)#94]
+Results [1]: [bloom_filter_agg(xxhash64(d_week_seq#71, 42), 335, 8990, 0, 0)#94 AS bloomFilter#95]
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/simplified.txt
index f7d471cf48f..62f4fab4891 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q59.sf100/simplified.txt
@@ -22,7 +22,7 @@ TakeOrderedAndProject [s_store_name1,s_store_id1,d_week_seq1,(sun_sales1 / sun_s
WholeStageCodegen (1)
Filter [d_date_sk,d_week_seq]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 2680, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 8990, 0, 0),bloomFilter,buf]
Exchange #3
ObjectHashAggregate [d_week_seq] [buf,buf]
WholeStageCodegen (1)
@@ -72,7 +72,7 @@ TakeOrderedAndProject [s_store_name1,s_store_id1,d_week_seq1,(sun_sales1 / sun_s
WholeStageCodegen (5)
Filter [d_date_sk,d_week_seq]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 2680, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 335, 8990, 0, 0),bloomFilter,buf]
Exchange #9
ObjectHashAggregate [d_week_seq] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/explain.txt
index d102d1c3642..8a57ad7ce8d 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/explain.txt
@@ -1176,7 +1176,7 @@ Input [3]: [i_item_sk#75, i_current_price#76, i_color#77]
(214) ObjectHashAggregate
Input [1]: [i_item_sk#75]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)]
Aggregate Attributes [1]: [buf#176]
Results [1]: [buf#177]
@@ -1187,9 +1187,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=32]
(216) ObjectHashAggregate
Input [1]: [buf#177]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)#178]
-Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)#178 AS bloomFilter#179]
+Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)#178]
+Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)#178 AS bloomFilter#179]
Subquery:2 Hosting operator id = 1 Hosting Expression = ss_sold_date_sk#12 IN dynamicpruning#13
BroadcastExchange (220)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/simplified.txt
index 87226794ac8..ce628bd2235 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q64.sf100/simplified.txt
@@ -88,7 +88,7 @@ WholeStageCodegen (88)
WholeStageCodegen (1)
Filter [ss_item_sk,ss_ticket_number,ss_store_sk,ss_customer_sk,ss_cdemo_sk,ss_promo_sk,ss_hdemo_sk,ss_addr_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 1250, 10000, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 1250, 30121, 0, 0),bloomFilter,buf]
Exchange #11
ObjectHashAggregate [i_item_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/explain.txt
index 18229b02f23..96ca7b8cb0b 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/explain.txt
@@ -300,7 +300,7 @@ Input [2]: [ca_address_sk#16, ca_state#17]
(52) ObjectHashAggregate
Input [1]: [ca_address_sk#16]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 444448, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 899992, 0, 0)]
Aggregate Attributes [1]: [buf#30]
Results [1]: [buf#31]
@@ -311,9 +311,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=8]
(54) ObjectHashAggregate
Input [1]: [buf#31]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 444448, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 444448, 0, 0)#32]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 444448, 0, 0)#32 AS bloomFilter#33]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 899992, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 899992, 0, 0)#32]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#16, 42), 55556, 899992, 0, 0)#32 AS bloomFilter#33]
Subquery:2 Hosting operator id = 6 Hosting Expression = ss_sold_date_sk#7 IN dynamicpruning#8
BroadcastExchange (59)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/simplified.txt
index 6483ac8dc74..7635aa1c6c3 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q69.sf100/simplified.txt
@@ -28,7 +28,7 @@ TakeOrderedAndProject [cd_gender,cd_marital_status,cd_education_status,cd_purcha
WholeStageCodegen (1)
Filter [c_current_addr_sk,c_current_cdemo_sk]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 55556, 444448, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 55556, 899992, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/explain.txt
index 90bb3af97ec..c930a8f5223 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/explain.txt
@@ -639,7 +639,7 @@ Input [2]: [i_item_sk#18, i_current_price#19]
(112) ObjectHashAggregate
Input [1]: [i_item_sk#18]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)]
Aggregate Attributes [1]: [buf#134]
Results [1]: [buf#135]
@@ -650,9 +650,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=16]
(114) ObjectHashAggregate
Input [1]: [buf#135]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)#136]
-Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)#136 AS bloomFilter#137]
+Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)#136]
+Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)#136 AS bloomFilter#137]
Subquery:2 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#11, [id=#12]
ObjectHashAggregate (121)
@@ -685,7 +685,7 @@ Input [2]: [p_promo_sk#20, p_channel_tv#21]
(119) ObjectHashAggregate
Input [1]: [p_promo_sk#20]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)]
Aggregate Attributes [1]: [buf#138]
Results [1]: [buf#139]
@@ -696,9 +696,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=17]
(121) ObjectHashAggregate
Input [1]: [buf#139]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)#140]
-Results [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)#140 AS bloomFilter#141]
+Functions [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)#140]
+Results [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)#140 AS bloomFilter#141]
Subquery:3 Hosting operator id = 1 Hosting Expression = ss_sold_date_sk#7 IN dynamicpruning#8
BroadcastExchange (126)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/simplified.txt
index 647cca694c7..315c338617f 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q80.sf100/simplified.txt
@@ -32,7 +32,7 @@ TakeOrderedAndProject [channel,id,sales,returns,profit]
WholeStageCodegen (1)
Filter [ss_store_sk,ss_item_sk,ss_promo_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 101823, 814584, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 101823, 1521109, 0, 0),bloomFilter,buf]
Exchange #5
ObjectHashAggregate [i_item_sk] [buf,buf]
WholeStageCodegen (1)
@@ -42,7 +42,7 @@ TakeOrderedAndProject [channel,id,sales,returns,profit]
InputAdapter
Scan parquet spark_catalog.default.item [i_item_sk,i_current_price]
Subquery #3
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(p_promo_sk, 42), 986, 7888, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(p_promo_sk, 42), 986, 24246, 0, 0),bloomFilter,buf]
Exchange #6
ObjectHashAggregate [p_promo_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/explain.txt
index 51b43a6477b..410a6a19575 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/explain.txt
@@ -368,7 +368,7 @@ Input [3]: [cd_demo_sk#23, cd_marital_status#24, cd_education_status#25]
(64) ObjectHashAggregate
Input [1]: [cd_demo_sk#23]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 1279848, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 2239471, 0, 0)]
Aggregate Attributes [1]: [buf#55]
Results [1]: [buf#56]
@@ -379,9 +379,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=11]
(66) ObjectHashAggregate
Input [1]: [buf#56]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 1279848, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 1279848, 0, 0)#57]
-Results [1]: [bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 1279848, 0, 0)#57 AS bloomFilter#58]
+Functions [1]: [bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 2239471, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 2239471, 0, 0)#57]
+Results [1]: [bloom_filter_agg(xxhash64(cd_demo_sk#23, 42), 159981, 2239471, 0, 0)#57 AS bloomFilter#58]
Subquery:3 Hosting operator id = 14 Hosting Expression = Subquery scalar-subquery#21, [id=#22]
ObjectHashAggregate (73)
@@ -414,7 +414,7 @@ Input [3]: [ca_address_sk#29, ca_state#30, ca_country#31]
(71) ObjectHashAggregate
Input [1]: [ca_address_sk#29]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 1222696, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 2153999, 0, 0)]
Aggregate Attributes [1]: [buf#59]
Results [1]: [buf#60]
@@ -425,8 +425,8 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=12]
(73) ObjectHashAggregate
Input [1]: [buf#60]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 1222696, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 1222696, 0, 0)#61]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 1222696, 0, 0)#61 AS bloomFilter#62]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 2153999, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 2153999, 0, 0)#61]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#29, 42), 152837, 2153999, 0, 0)#61 AS bloomFilter#62]
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/simplified.txt
index aa9e8c4c20d..46c14e8bd67 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q85.sf100/simplified.txt
@@ -59,7 +59,7 @@ TakeOrderedAndProject [substr(r_reason_desc, 1, 20),avg(ws_quantity),avg(wr_refu
Project [wr_item_sk,wr_refunded_cdemo_sk,wr_refunded_addr_sk,wr_returning_cdemo_sk,wr_reason_sk,wr_order_number,wr_fee,wr_refunded_cash]
Filter [wr_item_sk,wr_order_number,wr_refunded_cdemo_sk,wr_returning_cdemo_sk,wr_refunded_addr_sk,wr_reason_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(cd_demo_sk, 42), 159981, 1279848, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(cd_demo_sk, 42), 159981, 2239471, 0, 0),bloomFilter,buf]
Exchange #7
ObjectHashAggregate [cd_demo_sk] [buf,buf]
WholeStageCodegen (1)
@@ -69,7 +69,7 @@ TakeOrderedAndProject [substr(r_reason_desc, 1, 20),avg(ws_quantity),avg(wr_refu
InputAdapter
Scan parquet spark_catalog.default.customer_demographics [cd_demo_sk,cd_marital_status,cd_education_status]
Subquery #3
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 152837, 1222696, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 152837, 2153999, 0, 0),bloomFilter,buf]
Exchange #8
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/explain.txt
index e74a02ff719..dce5f37bb95 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/explain.txt
@@ -205,7 +205,7 @@ Input [2]: [i_item_sk#1, i_manufact_id#2]
(34) ObjectHashAggregate
Input [1]: [i_item_sk#1]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)]
Aggregate Attributes [1]: [buf#24]
Results [1]: [buf#25]
@@ -216,9 +216,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=5]
(36) ObjectHashAggregate
Input [1]: [buf#25]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)#26]
-Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 1592, 0, 0)#26 AS bloomFilter#27]
+Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)#26]
+Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#1, 42), 199, 5556, 0, 0)#26 AS bloomFilter#27]
Subquery:2 Hosting operator id = 6 Hosting Expression = ws_sold_date_sk#5 IN dynamicpruning#6
BroadcastExchange (41)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/simplified.txt
index 0402324ad1a..d664a0c7317 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q92.sf100/simplified.txt
@@ -31,7 +31,7 @@ WholeStageCodegen (7)
BroadcastHashJoin [ws_sold_date_sk,d_date_sk]
Filter [ws_item_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 199, 1592, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 199, 5556, 0, 0),bloomFilter,buf]
Exchange #6
ObjectHashAggregate [i_item_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/explain.txt
index 5c73695cd20..ff096bf4509 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/explain.txt
@@ -291,7 +291,7 @@ Input [2]: [ca_address_sk#20, ca_state#21]
(50) ObjectHashAggregate
Input [1]: [ca_address_sk#20]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)]
Aggregate Attributes [1]: [buf#35]
Results [1]: [buf#36]
@@ -302,9 +302,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=8]
(52) ObjectHashAggregate
Input [1]: [buf#36]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)#37]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 143688, 0, 0)#37 AS bloomFilter#38]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)#37]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#20, 42), 17961, 333176, 0, 0)#37 AS bloomFilter#38]
Subquery:2 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#11, [id=#12]
ObjectHashAggregate (59)
@@ -337,7 +337,7 @@ Input [2]: [web_site_sk#22, web_company_name#23]
(57) ObjectHashAggregate
Input [1]: [web_site_sk#22]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 32, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 144, 0, 0)]
Aggregate Attributes [1]: [buf#39]
Results [1]: [buf#40]
@@ -348,9 +348,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9]
(59) ObjectHashAggregate
Input [1]: [buf#40]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 32, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 32, 0, 0)#41]
-Results [1]: [bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 32, 0, 0)#41 AS bloomFilter#42]
+Functions [1]: [bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 144, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 144, 0, 0)#41]
+Results [1]: [bloom_filter_agg(xxhash64(web_site_sk#22, 42), 4, 144, 0, 0)#41 AS bloomFilter#42]
Subquery:3 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#13, [id=#14]
ObjectHashAggregate (66)
@@ -383,7 +383,7 @@ Input [2]: [d_date_sk#24, d_date#25]
(64) ObjectHashAggregate
Input [1]: [d_date_sk#24]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)]
Aggregate Attributes [1]: [buf#43]
Results [1]: [buf#44]
@@ -394,8 +394,8 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10]
(66) ObjectHashAggregate
Input [1]: [buf#44]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)#45]
-Results [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 584392, 0, 0)#45 AS bloomFilter#46]
+Functions [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)#45]
+Results [1]: [bloom_filter_agg(xxhash64(d_date_sk#24, 42), 73049, 1141755, 0, 0)#45 AS bloomFilter#46]
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/simplified.txt
index fc764d31f52..230b08abe0a 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94.sf100/simplified.txt
@@ -26,7 +26,7 @@ WholeStageCodegen (12)
Project [ws_ship_date_sk,ws_ship_addr_sk,ws_web_site_sk,ws_warehouse_sk,ws_order_number,ws_ext_ship_cost,ws_net_profit]
Filter [ws_ship_date_sk,ws_ship_addr_sk,ws_web_site_sk]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 17961, 143688, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 17961, 333176, 0, 0),bloomFilter,buf]
Exchange #3
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
@@ -36,7 +36,7 @@ WholeStageCodegen (12)
InputAdapter
Scan parquet spark_catalog.default.customer_address [ca_address_sk,ca_state]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(web_site_sk, 42), 4, 32, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(web_site_sk, 42), 4, 144, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [web_site_sk] [buf,buf]
WholeStageCodegen (1)
@@ -46,7 +46,7 @@ WholeStageCodegen (12)
InputAdapter
Scan parquet spark_catalog.default.web_site [web_site_sk,web_company_name]
Subquery #3
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_date_sk, 42), 73049, 584392, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_date_sk, 42), 73049, 1141755, 0, 0),bloomFilter,buf]
Exchange #5
ObjectHashAggregate [d_date_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/explain.txt
index aee8e7ded8d..d6cf257b8b5 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/explain.txt
@@ -356,7 +356,7 @@ Input [2]: [ca_address_sk#21, ca_state#22]
(62) ObjectHashAggregate
Input [1]: [ca_address_sk#21]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 143688, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 333176, 0, 0)]
Aggregate Attributes [1]: [buf#36]
Results [1]: [buf#37]
@@ -367,9 +367,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=8]
(64) ObjectHashAggregate
Input [1]: [buf#37]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 143688, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 143688, 0, 0)#38]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 143688, 0, 0)#38 AS bloomFilter#39]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 333176, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 333176, 0, 0)#38]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#21, 42), 17961, 333176, 0, 0)#38 AS bloomFilter#39]
Subquery:2 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#10, [id=#11]
ObjectHashAggregate (71)
@@ -402,7 +402,7 @@ Input [2]: [web_site_sk#23, web_company_name#24]
(69) ObjectHashAggregate
Input [1]: [web_site_sk#23]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 32, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 144, 0, 0)]
Aggregate Attributes [1]: [buf#40]
Results [1]: [buf#41]
@@ -413,9 +413,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9]
(71) ObjectHashAggregate
Input [1]: [buf#41]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 32, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 32, 0, 0)#42]
-Results [1]: [bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 32, 0, 0)#42 AS bloomFilter#43]
+Functions [1]: [bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 144, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 144, 0, 0)#42]
+Results [1]: [bloom_filter_agg(xxhash64(web_site_sk#23, 42), 4, 144, 0, 0)#42 AS bloomFilter#43]
Subquery:3 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#12, [id=#13]
ObjectHashAggregate (78)
@@ -448,7 +448,7 @@ Input [2]: [d_date_sk#25, d_date#26]
(76) ObjectHashAggregate
Input [1]: [d_date_sk#25]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 584392, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 1141755, 0, 0)]
Aggregate Attributes [1]: [buf#44]
Results [1]: [buf#45]
@@ -459,8 +459,8 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10]
(78) ObjectHashAggregate
Input [1]: [buf#45]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 584392, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 584392, 0, 0)#46]
-Results [1]: [bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 584392, 0, 0)#46 AS bloomFilter#47]
+Functions [1]: [bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 1141755, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 1141755, 0, 0)#46]
+Results [1]: [bloom_filter_agg(xxhash64(d_date_sk#25, 42), 73049, 1141755, 0, 0)#46 AS bloomFilter#47]
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/simplified.txt
index e521277505b..8922d43c2aa 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95.sf100/simplified.txt
@@ -25,7 +25,7 @@ WholeStageCodegen (21)
Project [ws_ship_date_sk,ws_ship_addr_sk,ws_web_site_sk,ws_order_number,ws_ext_ship_cost,ws_net_profit]
Filter [ws_ship_date_sk,ws_ship_addr_sk,ws_web_site_sk]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 17961, 143688, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 17961, 333176, 0, 0),bloomFilter,buf]
Exchange #3
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
@@ -35,7 +35,7 @@ WholeStageCodegen (21)
InputAdapter
Scan parquet spark_catalog.default.customer_address [ca_address_sk,ca_state]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(web_site_sk, 42), 4, 32, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(web_site_sk, 42), 4, 144, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [web_site_sk] [buf,buf]
WholeStageCodegen (1)
@@ -45,7 +45,7 @@ WholeStageCodegen (21)
InputAdapter
Scan parquet spark_catalog.default.web_site [web_site_sk,web_company_name]
Subquery #3
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_date_sk, 42), 73049, 584392, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_date_sk, 42), 73049, 1141755, 0, 0),bloomFilter,buf]
Exchange #5
ObjectHashAggregate [d_date_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/explain.txt
index e6ba05cca53..72298764a9e 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/explain.txt
@@ -286,7 +286,7 @@ Input [2]: [ca_address_sk#18, ca_county#19]
(50) ObjectHashAggregate
Input [1]: [ca_address_sk#18]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)]
Aggregate Attributes [1]: [buf#38]
Results [1]: [buf#39]
@@ -297,9 +297,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=7]
(52) ObjectHashAggregate
Input [1]: [buf#39]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)#40]
-Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 20440, 0, 0)#40 AS bloomFilter#41]
+Functions [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)#40]
+Results [1]: [bloom_filter_agg(xxhash64(ca_address_sk#18, 42), 2555, 57765, 0, 0)#40 AS bloomFilter#41]
Subquery:2 Hosting operator id = 6 Hosting Expression = ss_sold_date_sk#7 IN dynamicpruning#8
BroadcastExchange (57)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/simplified.txt
index 8102047b218..49da06e14bc 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q10a.sf100/simplified.txt
@@ -25,7 +25,7 @@ TakeOrderedAndProject [cd_gender,cd_marital_status,cd_education_status,cd_purcha
WholeStageCodegen (1)
Filter [c_current_addr_sk,c_current_cdemo_sk]
Subquery #1
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 2555, 20440, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(ca_address_sk, 42), 2555, 57765, 0, 0),bloomFilter,buf]
Exchange #4
ObjectHashAggregate [ca_address_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/explain.txt
index 56dadada888..50beb987864 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/explain.txt
@@ -1176,7 +1176,7 @@ Input [3]: [i_item_sk#75, i_current_price#76, i_color#77]
(214) ObjectHashAggregate
Input [1]: [i_item_sk#75]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)]
Aggregate Attributes [1]: [buf#176]
Results [1]: [buf#177]
@@ -1187,9 +1187,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=32]
(216) ObjectHashAggregate
Input [1]: [buf#177]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)#178]
-Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 10000, 0, 0)#178 AS bloomFilter#179]
+Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)#178]
+Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#75, 42), 1250, 30121, 0, 0)#178 AS bloomFilter#179]
Subquery:2 Hosting operator id = 1 Hosting Expression = ss_sold_date_sk#12 IN dynamicpruning#13
BroadcastExchange (220)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/simplified.txt
index cb088f6a6ad..9793e7cf7ef 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q64.sf100/simplified.txt
@@ -88,7 +88,7 @@ WholeStageCodegen (88)
WholeStageCodegen (1)
Filter [ss_item_sk,ss_ticket_number,ss_store_sk,ss_customer_sk,ss_cdemo_sk,ss_promo_sk,ss_hdemo_sk,ss_addr_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 1250, 10000, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 1250, 30121, 0, 0),bloomFilter,buf]
Exchange #11
ObjectHashAggregate [i_item_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/explain.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/explain.txt
index a0246af44b7..2c3bbda04d1 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/explain.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/explain.txt
@@ -1186,7 +1186,7 @@ Input [2]: [i_item_sk#18, i_current_price#19]
(207) ObjectHashAggregate
Input [1]: [i_item_sk#18]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)]
Aggregate Attributes [1]: [buf#218]
Results [1]: [buf#219]
@@ -1197,9 +1197,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=27]
(209) ObjectHashAggregate
Input [1]: [buf#219]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)#220]
-Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 814584, 0, 0)#220 AS bloomFilter#221]
+Functions [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)#220]
+Results [1]: [bloom_filter_agg(xxhash64(i_item_sk#18, 42), 101823, 1521109, 0, 0)#220 AS bloomFilter#221]
Subquery:2 Hosting operator id = 3 Hosting Expression = Subquery scalar-subquery#11, [id=#12]
ObjectHashAggregate (216)
@@ -1232,7 +1232,7 @@ Input [2]: [p_promo_sk#20, p_channel_tv#21]
(214) ObjectHashAggregate
Input [1]: [p_promo_sk#20]
Keys: []
-Functions [1]: [partial_bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)]
+Functions [1]: [partial_bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)]
Aggregate Attributes [1]: [buf#222]
Results [1]: [buf#223]
@@ -1243,9 +1243,9 @@ Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=28]
(216) ObjectHashAggregate
Input [1]: [buf#223]
Keys: []
-Functions [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)]
-Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)#224]
-Results [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 7888, 0, 0)#224 AS bloomFilter#225]
+Functions [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)]
+Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)#224]
+Results [1]: [bloom_filter_agg(xxhash64(p_promo_sk#20, 42), 986, 24246, 0, 0)#224 AS bloomFilter#225]
Subquery:3 Hosting operator id = 1 Hosting Expression = ss_sold_date_sk#7 IN dynamicpruning#8
BroadcastExchange (221)
diff --git a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/simplified.txt b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/simplified.txt
index 542e92a27d7..7082f78d270 100644
--- a/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/simplified.txt
+++ b/sql/core/src/test/resources/tpcds-plan-stability/approved-plans-v2_7/q80a.sf100/simplified.txt
@@ -39,7 +39,7 @@ TakeOrderedAndProject [channel,id,sales,returns,profit]
WholeStageCodegen (1)
Filter [ss_store_sk,ss_item_sk,ss_promo_sk]
Subquery #2
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 101823, 814584, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(i_item_sk, 42), 101823, 1521109, 0, 0),bloomFilter,buf]
Exchange #6
ObjectHashAggregate [i_item_sk] [buf,buf]
WholeStageCodegen (1)
@@ -49,7 +49,7 @@ TakeOrderedAndProject [channel,id,sales,returns,profit]
InputAdapter
Scan parquet spark_catalog.default.item [i_item_sk,i_current_price]
Subquery #3
- ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(p_promo_sk, 42), 986, 7888, 0, 0),bloomFilter,buf]
+ ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(p_promo_sk, 42), 986, 24246, 0, 0),bloomFilter,buf]
Exchange #7
ObjectHashAggregate [p_promo_sk] [buf,buf]
WholeStageCodegen (1)
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/BloomFilterAggregateQuerySuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/BloomFilterAggregateQuerySuite.scala
index cf5d4c8c1e9..4edb51d2719 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/BloomFilterAggregateQuerySuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/BloomFilterAggregateQuerySuite.scala
@@ -376,4 +376,21 @@ class BloomFilterAggregateQuerySuite extends QueryTest with SharedSparkSession {
.queryExecution.executedPlan.asInstanceOf[AdaptiveSparkPlanExec].inputPlan
.collect({case agg: BaseAggregateExec => agg}).size == 2)
}
+
+ test("Test numBitsExpression") {
+ def checkNumBits(estimatedNumItems: Long, numBits: Long): Unit = {
+ val agg = new BloomFilterAggregate(Literal(1L), estimatedNumItems)
+ assert(agg.numBitsExpression === Literal(numBits))
+ }
+
+ checkNumBits(conf.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS) * 100,
+ conf.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_BITS))
+ checkNumBits(conf.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS) + 10, 29193836)
+ checkNumBits(conf.getConf(SQLConf.RUNTIME_BLOOM_FILTER_MAX_NUM_ITEMS), 29193763)
+ checkNumBits(2000000, 17482271)
+ checkNumBits(1000000, 10183830)
+ checkNumBits(10000, 197688)
+ checkNumBits(100, 2935)
+ checkNumBits(1, 38)
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org