Skip to content

Commit

Permalink
Add table scan session properties to native workers
Browse files Browse the repository at this point in the history
  • Loading branch information
natashasehgal committed Jan 3, 2025
1 parent 7b769ed commit f86ba49
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 2 deletions.
17 changes: 17 additions & 0 deletions presto-native-execution/presto_cpp/main/SessionProperties.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,23 @@ SessionProperties::SessionProperties() {
false,
QueryConfig::kScaleWriterMinProcessedBytesRebalanceThreshold,
std::to_string(c.scaleWriterMinProcessedBytesRebalanceThreshold()));

addSessionProperty(
kTableScanScaledProcessingEnabled,
"If set to true, enables scaled processing for table scans.",
BOOLEAN(),
false,
QueryConfig::kTableScanScaledProcessingEnabled,
std::to_string(c.tableScanScaledProcessingEnabled()));

addSessionProperty(
kTableScanScaleUpMemoryUsageRatio,
"Controls the ratio of available memory that can be used for scaling up table scans. "
"The value is in the range of (0, 1].",
DOUBLE(),
false,
QueryConfig::kTableScanScaleUpMemoryUsageRatio,
std::to_string(c.tableScanScaleUpMemoryUsageRatio()));
}

const std::unordered_map<std::string, std::shared_ptr<SessionProperty>>&
Expand Down
9 changes: 9 additions & 0 deletions presto-native-execution/presto_cpp/main/SessionProperties.h
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,15 @@ class SessionProperties {
static constexpr const char* kShuffleCompressionEnabled =
"exchange_compression";

/// If set to true, enables scaled processing for table scans.
static constexpr const char* kTableScanScaledProcessingEnabled =
"native_table_scan_scaled_processing_enabled";

/// Controls the ratio of available memory that can be used for scaling up
/// table scans. The value is in the range of (0, 1].
static constexpr const char* kTableScanScaleUpMemoryUsageRatio =
"native_table_scan_scale_up_memory_usage_ratio";

SessionProperties();

const std::unordered_map<std::string, std::shared_ptr<SessionProperty>>&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ TEST_F(SessionPropertiesTest, validateMapping) {
SessionProperties::kScaleWriterMaxPartitionsPerWriter,
SessionProperties::
kScaleWriterMinPartitionProcessedBytesRebalanceThreshold,
SessionProperties::kScaleWriterMinProcessedBytesRebalanceThreshold};
SessionProperties::kScaleWriterMinProcessedBytesRebalanceThreshold,
SessionProperties::kTableScanScaledProcessingEnabled,
SessionProperties::kTableScanScaleUpMemoryUsageRatio};
const std::vector<std::string> veloxConfigNames = {
core::QueryConfig::kAdjustTimestampToTimezone,
core::QueryConfig::kDriverCpuTimeSliceLimitMs,
Expand All @@ -40,7 +42,9 @@ TEST_F(SessionPropertiesTest, validateMapping) {
core::QueryConfig::kScaleWriterMaxPartitionsPerWriter,
core::QueryConfig::
kScaleWriterMinPartitionProcessedBytesRebalanceThreshold,
core::QueryConfig::kScaleWriterMinProcessedBytesRebalanceThreshold};
core::QueryConfig::kScaleWriterMinProcessedBytesRebalanceThreshold,
core::QueryConfig::kTableScanScaledProcessingEnabled,
core::QueryConfig::kTableScanScaleUpMemoryUsageRatio};
auto sessionProperties = SessionProperties().getSessionProperties();
const auto len = names.size();
for (auto i = 0; i < len; i++) {
Expand Down

0 comments on commit f86ba49

Please sign in to comment.