1515
1616import com .facebook .presto .SystemSessionProperties ;
1717import com .facebook .presto .metadata .SessionPropertyManager ;
18+ import com .facebook .presto .spi .session .WorkerSessionPropertyProvider ;
1819import com .facebook .presto .spiller .NodeSpillConfig ;
1920import com .facebook .presto .sql .analyzer .JavaFeaturesConfig ;
2021import com .google .common .collect .Streams ;
2122
2223import javax .inject .Inject ;
2324import javax .inject .Provider ;
2425
26+ import java .util .Map ;
27+
2528import static com .facebook .presto .metadata .SessionPropertyManager .createTestingSessionPropertyManager ;
2629import static com .google .common .collect .ImmutableList .toImmutableList ;
2730import static java .util .Objects .requireNonNull ;
@@ -31,14 +34,24 @@ public class PrestoSparkSessionPropertyManagerProvider
3134{
3235 private final SystemSessionProperties systemSessionProperties ;
3336 private final PrestoSparkSessionProperties prestoSparkSessionProperties ;
37+ private final Map <String , WorkerSessionPropertyProvider > workerSessionPropertyProviders ;
3438 private final JavaFeaturesConfig javaFeaturesConfig ;
3539 private final NodeSpillConfig nodeSpillConfig ;
3640
3741 @ Inject
38- public PrestoSparkSessionPropertyManagerProvider (SystemSessionProperties systemSessionProperties , PrestoSparkSessionProperties prestoSparkSessionProperties , JavaFeaturesConfig javaFeaturesConfig , NodeSpillConfig nodeSpillConfig )
42+ public PrestoSparkSessionPropertyManagerProvider (
43+ SystemSessionProperties systemSessionProperties ,
44+ PrestoSparkSessionProperties prestoSparkSessionProperties ,
45+ Map <String , WorkerSessionPropertyProvider > workerSessionPropertyProviders ,
46+ JavaFeaturesConfig javaFeaturesConfig ,
47+ NodeSpillConfig nodeSpillConfig )
3948 {
40- this .systemSessionProperties = requireNonNull (systemSessionProperties , "systemSessionProperties is null" );
41- this .prestoSparkSessionProperties = requireNonNull (prestoSparkSessionProperties , "prestoSparkSessionProperties is null" );
49+ this .systemSessionProperties = requireNonNull (systemSessionProperties ,
50+ "systemSessionProperties is null" );
51+ this .prestoSparkSessionProperties = requireNonNull (prestoSparkSessionProperties ,
52+ "prestoSparkSessionProperties is null" );
53+ this .workerSessionPropertyProviders = requireNonNull (workerSessionPropertyProviders ,
54+ "workerSessionPropertyProviders is null" );
4255 this .javaFeaturesConfig = requireNonNull (javaFeaturesConfig , "javaFeaturesConfig is null" );
4356 this .nodeSpillConfig = requireNonNull (nodeSpillConfig , "nodeSpillConfig is null" );
4457 }
@@ -47,11 +60,13 @@ public PrestoSparkSessionPropertyManagerProvider(SystemSessionProperties systemS
4760 public SessionPropertyManager get ()
4861 {
4962 return createTestingSessionPropertyManager (
50- Streams .concat (
51- systemSessionProperties .getSessionProperties ().stream (),
52- prestoSparkSessionProperties .getSessionProperties ().stream ()
53- ).collect (toImmutableList ()),
54- javaFeaturesConfig ,
55- nodeSpillConfig );
63+ Streams .concat (
64+ systemSessionProperties .getSessionProperties ().stream (),
65+ prestoSparkSessionProperties .getSessionProperties ().stream (),
66+ workerSessionPropertyProviders .values ().stream ()
67+ .flatMap (provider -> provider .getSessionProperties ().stream ())
68+ ).collect (toImmutableList ()),
69+ javaFeaturesConfig ,
70+ nodeSpillConfig );
5671 }
5772}
0 commit comments