diff --git a/presto-docs/src/main/sphinx/presto_cpp/properties.rst b/presto-docs/src/main/sphinx/presto_cpp/properties.rst index fc07ca25d9565..6aa03b8fb8d91 100644 --- a/presto-docs/src/main/sphinx/presto_cpp/properties.rst +++ b/presto-docs/src/main/sphinx/presto_cpp/properties.rst @@ -2,7 +2,7 @@ Presto C++ Configuration Properties =================================== -This section describes Presto C++ configuration properties. +This section describes Presto C++ configuration properties. The following is not a complete list of all configuration properties, and does not include any connector-specific catalog configuration properties @@ -429,7 +429,7 @@ The configuration properties of AsyncDataCache and SSD cache are described here. * **Type:** ``integer`` * **Default value:** ``0`` - The size of the SSD. Unit is in GiB (gibibytes). + The size of the SSD. Unit is in GiB (gibibytes). ``async-cache-ssd-path`` ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -529,6 +529,17 @@ The configuration properties of AsyncDataCache and SSD cache are described here. The periodic duration to apply cache TTL and evict AsyncDataCache and SSD cache entries. +Exchange Properties +------------------- + +``exchange.http-client.request-data-sizes-max-wait-sec`` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* **Type:** ``integer`` +* **Default value:** ``10`` + + Maximum wait time for exchange request in seconds. + Memory Checker Properties ------------------------- diff --git a/presto-native-execution/presto_cpp/main/common/Configs.cpp b/presto-native-execution/presto_cpp/main/common/Configs.cpp index 58039199547fe..be379d902a610 100644 --- a/presto-native-execution/presto_cpp/main/common/Configs.cpp +++ b/presto-native-execution/presto_cpp/main/common/Configs.cpp @@ -254,6 +254,7 @@ SystemConfig::SystemConfig() { BOOL_PROP(kJoinSpillEnabled, true), BOOL_PROP(kAggregationSpillEnabled, true), BOOL_PROP(kOrderBySpillEnabled, true), + NUM_PROP(kRequestDataSizesMaxWaitSec, 10), }; } @@ -333,6 +334,10 @@ bool SystemConfig::orderBySpillEnabled() const { return optionalProperty(kOrderBySpillEnabled).value(); } +int SystemConfig::requestDataSizesMaxWaitSec() const { + return optionalProperty(kRequestDataSizesMaxWaitSec).value(); +} + bool SystemConfig::mutableConfig() const { return optionalProperty(kMutableConfig).value(); } diff --git a/presto-native-execution/presto_cpp/main/common/Configs.h b/presto-native-execution/presto_cpp/main/common/Configs.h index 22ce14f6e8b98..848a5822269ec 100644 --- a/presto-native-execution/presto_cpp/main/common/Configs.h +++ b/presto-native-execution/presto_cpp/main/common/Configs.h @@ -721,6 +721,10 @@ class SystemConfig : public ConfigBase { static constexpr std::string_view kOrderBySpillEnabled{ "order-by-spill-enabled"}; + // Max wait time for exchange request in seconds. + static constexpr std::string_view kRequestDataSizesMaxWaitSec{ + "exchange.http-client.request-data-sizes-max-wait-sec"}; + SystemConfig(); virtual ~SystemConfig() = default; @@ -983,6 +987,8 @@ class SystemConfig : public ConfigBase { bool aggregationSpillEnabled() const; bool orderBySpillEnabled() const; + + int requestDataSizesMaxWaitSec() const; }; /// Provides access to node properties defined in node.properties file.