diff --git a/presto/docker/config/template/etc_coordinator/config_native.properties b/presto/docker/config/template/etc_coordinator/config_native.properties index b08eca85..ccb7cac8 100644 --- a/presto/docker/config/template/etc_coordinator/config_native.properties +++ b/presto/docker/config/template/etc_coordinator/config_native.properties @@ -25,6 +25,10 @@ node-scheduler.max-pending-splits-per-task=2000 node-scheduler.max-splits-per-node=2000 # Optimizer flags +# New option in 0.282 to control inference of NOT NULL columns in joins (undocumented). +#optimizer.joins-not-null-inference-strategy=USE_FUNCTION_METADATA +# Use a default filter factor to estimate the selectivity of filters in queries. +#optimizer.default-filter-factor-enabled=true # Use known constraints to simplify plan and filters. optimizer.exploit-constraints=true # Rewrite large IN lists as joins for performance in some cases. diff --git a/presto/scripts/generate_presto_config.sh b/presto/scripts/generate_presto_config.sh index 35249a0a..48016eb2 100755 --- a/presto/scripts/generate_presto_config.sh +++ b/presto/scripts/generate_presto_config.sh @@ -83,4 +83,13 @@ if ../../pbench/pbench genconfig -p params.json -t template generated 2>&1 | gre echo_error "ERROR in pbench genconfig. Configs were not generated successfully" fi +# now perform other variant-specific modifications to the generated configs +if [[ "${VARIANT_TYPE}" == "gpu" ]]; then + # for GPU variant, uncomment these optimizer settings + # optimizer.joins-not-null-inference-strategy=USE_FUNCTION_METADATA + # optimizer.default-filter-factor-enabled=true + COORD_CONFIG="generated/etc_coordinator/config_native.properties" + sed -i 's/\#optimizer/optimizer/g' ${COORD_CONFIG} +fi + echo_success "Configs were generated successfully"