From 4b1b59944337a91de01f157f5216b4ae0f133cb0 Mon Sep 17 00:00:00 2001 From: Arjun Gupta Date: Thu, 12 Dec 2024 15:56:37 -0800 Subject: [PATCH] Fix bug in constructing SessionPropertyManager for Presto-On-Spark --- ...estoSparkSessionPropertyManagerProvider.java | 17 +++++++++++++---- .../planner/optimizers/TestPickJoinSides.java | 4 +++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkSessionPropertyManagerProvider.java b/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkSessionPropertyManagerProvider.java index 6b82ddbb85ce2..fe4c66b7fee60 100644 --- a/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkSessionPropertyManagerProvider.java +++ b/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkSessionPropertyManagerProvider.java @@ -15,6 +15,8 @@ import com.facebook.presto.SystemSessionProperties; import com.facebook.presto.metadata.SessionPropertyManager; +import com.facebook.presto.spiller.NodeSpillConfig; +import com.facebook.presto.sql.analyzer.JavaFeaturesConfig; import com.google.common.collect.Streams; import javax.inject.Inject; @@ -29,20 +31,27 @@ public class PrestoSparkSessionPropertyManagerProvider { private final SystemSessionProperties systemSessionProperties; private final PrestoSparkSessionProperties prestoSparkSessionProperties; + private final JavaFeaturesConfig javaFeaturesConfig; + private final NodeSpillConfig nodeSpillConfig; @Inject - public PrestoSparkSessionPropertyManagerProvider(SystemSessionProperties systemSessionProperties, PrestoSparkSessionProperties prestoSparkSessionProperties) + public PrestoSparkSessionPropertyManagerProvider(SystemSessionProperties systemSessionProperties, PrestoSparkSessionProperties prestoSparkSessionProperties, JavaFeaturesConfig javaFeaturesConfig, NodeSpillConfig nodeSpillConfig) { this.systemSessionProperties = requireNonNull(systemSessionProperties, "systemSessionProperties is null"); this.prestoSparkSessionProperties = requireNonNull(prestoSparkSessionProperties, "prestoSparkSessionProperties is null"); + this.javaFeaturesConfig = requireNonNull(javaFeaturesConfig, "javaFeaturesConfig is null"); + this.nodeSpillConfig = requireNonNull(nodeSpillConfig, "nodeSpillConfig is null"); } @Override public SessionPropertyManager get() { - return createTestingSessionPropertyManager(Streams.concat( + return createTestingSessionPropertyManager( + Streams.concat( systemSessionProperties.getSessionProperties().stream(), - prestoSparkSessionProperties.getSessionProperties().stream()) - .collect(toImmutableList())); + prestoSparkSessionProperties.getSessionProperties().stream() + ).collect(toImmutableList()), + javaFeaturesConfig, + nodeSpillConfig); } } diff --git a/presto-spark-base/src/test/java/com/facebook/presto/spark/planner/optimizers/TestPickJoinSides.java b/presto-spark-base/src/test/java/com/facebook/presto/spark/planner/optimizers/TestPickJoinSides.java index 4121f7c9d6451..30d93ce26eb80 100644 --- a/presto-spark-base/src/test/java/com/facebook/presto/spark/planner/optimizers/TestPickJoinSides.java +++ b/presto-spark-base/src/test/java/com/facebook/presto/spark/planner/optimizers/TestPickJoinSides.java @@ -38,6 +38,8 @@ import com.facebook.presto.spi.plan.PlanFragmentId; import com.facebook.presto.spi.plan.PlanNodeId; import com.facebook.presto.spi.relation.VariableReferenceExpression; +import com.facebook.presto.spiller.NodeSpillConfig; +import com.facebook.presto.sql.analyzer.JavaFeaturesConfig; import com.facebook.presto.sql.planner.iterative.rule.test.RuleAssert; import com.facebook.presto.sql.planner.iterative.rule.test.RuleTester; import com.facebook.presto.sql.planner.plan.ExchangeNode; @@ -86,7 +88,7 @@ public void setUp() tester = new RuleTester( ImmutableList.of(), ImmutableMap.of(), - new PrestoSparkSessionPropertyManagerProvider(new SystemSessionProperties(), new PrestoSparkSessionProperties()).get(), + new PrestoSparkSessionPropertyManagerProvider(new SystemSessionProperties(), new PrestoSparkSessionProperties(), new JavaFeaturesConfig(), new NodeSpillConfig()).get(), Optional.of(NODES_COUNT), new TpchConnectorFactory(1)); }