This is an automated email from the ASF dual-hosted git repository.
hongze pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 038d9cbaa [VL] Use MemConfig to replace MemConfigMutable to make the
code cleaner and to improve performance (#5784)
038d9cbaa is described below
commit 038d9cbaa840a7c9aea5324e510dffaace4a8801
Author: zhaokuo <[email protected]>
AuthorDate: Fri May 17 16:56:21 2024 +0800
[VL] Use MemConfig to replace MemConfigMutable to make the code cleaner and
to improve performance (#5784)
---
cpp/velox/compute/VeloxBackend.cc | 57 +++++++++-------------
cpp/velox/compute/VeloxBackend.h | 6 ++-
cpp/velox/compute/VeloxRuntime.cc | 12 ++---
cpp/velox/compute/VeloxRuntime.h | 2 +-
cpp/velox/compute/WholeStageResultIterator.cc | 2 +-
cpp/velox/compute/WholeStageResultIterator.h | 2 +-
.../operators/writer/VeloxParquetDatasourceABFS.h | 6 +--
.../operators/writer/VeloxParquetDatasourceHDFS.h | 8 +--
.../operators/writer/VeloxParquetDatasourceS3.h | 8 +--
cpp/velox/substrait/SubstraitToVeloxPlan.cc | 3 +-
cpp/velox/utils/ConfigExtractor.cc | 37 +++++++-------
cpp/velox/utils/ConfigExtractor.h | 3 +-
12 files changed, 61 insertions(+), 85 deletions(-)
diff --git a/cpp/velox/compute/VeloxBackend.cc
b/cpp/velox/compute/VeloxBackend.cc
index b2fb1c964..187c36e1e 100644
--- a/cpp/velox/compute/VeloxBackend.cc
+++ b/cpp/velox/compute/VeloxBackend.cc
@@ -61,13 +61,13 @@ gluten::Runtime* veloxRuntimeFactory(const
std::unordered_map<std::string, std::
} // namespace
void VeloxBackend::init(const std::unordered_map<std::string, std::string>&
conf) {
- backendConf_ =
std::make_shared<facebook::velox::core::MemConfigMutable>(conf);
+ backendConf_ = std::make_shared<facebook::velox::core::MemConfig>(conf);
// Register Velox runtime factory
gluten::Runtime::registerFactory(gluten::kVeloxRuntimeKind,
veloxRuntimeFactory);
if (backendConf_->get<bool>(kDebugModeEnabled, false)) {
- LOG(INFO) << "VeloxBackend config:" <<
printConfig(backendConf_->valuesCopy());
+ LOG(INFO) << "VeloxBackend config:" << printConfig(backendConf_->values());
}
// Init glog and log level.
@@ -188,46 +188,39 @@ void VeloxBackend::initCache() {
void VeloxBackend::initConnector() {
// The configs below are used at process level.
- auto connectorConf =
std::make_shared<facebook::velox::core::MemConfigMutable>(backendConf_->valuesCopy());
+ std::unordered_map<std::string, std::string> connectorConfMap =
backendConf_->values();
auto hiveConf = getHiveConfig(backendConf_);
for (auto& [k, v] : hiveConf->valuesCopy()) {
- connectorConf->setValue(k, v);
+ connectorConfMap[k] = v;
}
#ifdef ENABLE_ABFS
- const auto& confValue = backendConf_->valuesCopy();
+ const auto& confValue = backendConf_->values();
for (auto& [k, v] : confValue) {
if (k.find("fs.azure.account.key") == 0) {
- connectorConf->setValue(k, v);
+ connectorConfMap[k] = v;
} else if (k.find("spark.hadoop.fs.azure.account.key") == 0) {
constexpr int32_t accountKeyPrefixLength = 13;
- connectorConf->setValue(k.substr(accountKeyPrefixLength), v);
+ connectorConfMap[k.substr(accountKeyPrefixLength)] = v;
}
}
#endif
-
- connectorConf->setValue(
- velox::connector::hive::HiveConfig::kEnableFileHandleCache,
- backendConf_->get<bool>(kVeloxFileHandleCacheEnabled,
kVeloxFileHandleCacheEnabledDefault) ? "true" : "false");
-
- connectorConf->setValue(
- velox::connector::hive::HiveConfig::kMaxCoalescedBytes,
- backendConf_->get<std::string>(kMaxCoalescedBytes, "67108864")); // 64M
- connectorConf->setValue(
- velox::connector::hive::HiveConfig::kMaxCoalescedDistanceBytes,
- backendConf_->get<std::string>(kMaxCoalescedDistanceBytes, "1048576"));
// 1M
- connectorConf->setValue(
- velox::connector::hive::HiveConfig::kPrefetchRowGroups,
backendConf_->get<std::string>(kPrefetchRowGroups, "1"));
- connectorConf->setValue(
- velox::connector::hive::HiveConfig::kLoadQuantum,
- backendConf_->get<std::string>(kLoadQuantum, "268435456")); // 256M
- connectorConf->setValue(
- velox::connector::hive::HiveConfig::kFooterEstimatedSize,
- backendConf_->get<std::string>(kDirectorySizeGuess, "32768")); // 32K
- connectorConf->setValue(
- velox::connector::hive::HiveConfig::kFilePreloadThreshold,
- backendConf_->get<std::string>(kFilePreloadThreshold, "1048576")); // 1M
+ connectorConfMap[velox::connector::hive::HiveConfig::kEnableFileHandleCache]
=
+ backendConf_->get<bool>(kVeloxFileHandleCacheEnabled,
kVeloxFileHandleCacheEnabledDefault) ? "true" : "false";
+
+ connectorConfMap[velox::connector::hive::HiveConfig::kMaxCoalescedBytes] =
+ backendConf_->get<std::string>(kMaxCoalescedBytes, "67108864"); // 64M
+
connectorConfMap[velox::connector::hive::HiveConfig::kMaxCoalescedDistanceBytes]
=
+ backendConf_->get<std::string>(kMaxCoalescedDistanceBytes, "1048576");
// 1M
+ connectorConfMap[velox::connector::hive::HiveConfig::kPrefetchRowGroups] =
+ backendConf_->get<std::string>(kPrefetchRowGroups, "1");
+ connectorConfMap[velox::connector::hive::HiveConfig::kLoadQuantum] =
+ backendConf_->get<std::string>(kLoadQuantum, "268435456"); // 256M
+ connectorConfMap[velox::connector::hive::HiveConfig::kFooterEstimatedSize] =
+ backendConf_->get<std::string>(kDirectorySizeGuess, "32768"); // 32K
+ connectorConfMap[velox::connector::hive::HiveConfig::kFilePreloadThreshold] =
+ backendConf_->get<std::string>(kFilePreloadThreshold, "1048576"); // 1M
// set cache_prefetch_min_pct default as 0 to force all loads are prefetched
in DirectBufferInput.
FLAGS_cache_prefetch_min_pct = backendConf_->get<int>(kCachePrefetchMinPct,
0);
@@ -238,7 +231,7 @@ void VeloxBackend::initConnector() {
}
velox::connector::registerConnector(std::make_shared<velox::connector::hive::HiveConnector>(
kHiveConnectorId,
-
std::make_shared<facebook::velox::core::MemConfig>(connectorConf->valuesCopy()),
+
std::make_shared<facebook::velox::core::MemConfig>(std::move(connectorConfMap)),
ioExecutor_.get()));
}
@@ -265,8 +258,4 @@ VeloxBackend* VeloxBackend::get() {
return instance_.get();
}
-const std::shared_ptr<const facebook::velox::Config>
VeloxBackend::getBackendConf() const {
- return backendConf_;
-}
-
} // namespace gluten
diff --git a/cpp/velox/compute/VeloxBackend.h b/cpp/velox/compute/VeloxBackend.h
index 891bdd2cc..e8298eeed 100644
--- a/cpp/velox/compute/VeloxBackend.h
+++ b/cpp/velox/compute/VeloxBackend.h
@@ -53,7 +53,9 @@ class VeloxBackend {
facebook::velox::cache::AsyncDataCache* getAsyncDataCache() const;
- const std::shared_ptr<const facebook::velox::Config> getBackendConf() const;
+ std::shared_ptr<facebook::velox::Config> getBackendConf() const {
+ return backendConf_;
+ }
void tearDown() {
// Destruct IOThreadPoolExecutor will join all threads.
@@ -90,7 +92,7 @@ class VeloxBackend {
std::string cachePathPrefix_;
std::string cacheFilePrefix_;
- std::shared_ptr<const facebook::velox::Config> backendConf_;
+ std::shared_ptr<facebook::velox::Config> backendConf_;
};
} // namespace gluten
diff --git a/cpp/velox/compute/VeloxRuntime.cc
b/cpp/velox/compute/VeloxRuntime.cc
index 15c84b41c..44f04ef31 100644
--- a/cpp/velox/compute/VeloxRuntime.cc
+++ b/cpp/velox/compute/VeloxRuntime.cc
@@ -56,7 +56,7 @@ namespace gluten {
VeloxRuntime::VeloxRuntime(const std::unordered_map<std::string, std::string>&
confMap) : Runtime(confMap) {
// Refresh session config.
- veloxCfg_ = std::make_shared<const
facebook::velox::core::MemConfigMutable>(confMap_);
+ veloxCfg_ = std::make_shared<facebook::velox::core::MemConfig>(confMap_);
debugModeEnabled_ = veloxCfg_->get<bool>(kDebugModeEnabled, false);
FLAGS_minloglevel = veloxCfg_->get<uint32_t>(kGlogSeverityLevel,
FLAGS_minloglevel);
FLAGS_v = veloxCfg_->get<uint32_t>(kGlogVerboseLevel, FLAGS_v);
@@ -275,11 +275,11 @@ std::unique_ptr<ColumnarBatchSerializer>
VeloxRuntime::createColumnarBatchSerial
}
void VeloxRuntime::dumpConf(const std::string& path) {
- auto backendConf = VeloxBackend::get()->getBackendConf()->valuesCopy();
- auto allConf = backendConf;
+ const auto& backendConfMap = VeloxBackend::get()->getBackendConf()->values();
+ auto allConfMap = backendConfMap;
for (const auto& pair : confMap_) {
- allConf.insert_or_assign(pair.first, pair.second);
+ allConfMap.insert_or_assign(pair.first, pair.second);
}
// Open file "velox.conf" for writing, automatically creating it if it
doesn't exist,
@@ -292,13 +292,13 @@ void VeloxRuntime::dumpConf(const std::string& path) {
// Calculate the maximum key length for alignment.
size_t maxKeyLength = 0;
- for (const auto& pair : allConf) {
+ for (const auto& pair : allConfMap) {
maxKeyLength = std::max(maxKeyLength, pair.first.length());
}
// Write each key-value pair to the file with adjusted spacing for alignment
outFile << "[Backend Conf]" << std::endl;
- for (const auto& pair : backendConf) {
+ for (const auto& pair : backendConfMap) {
outFile << std::left << std::setw(maxKeyLength + 1) << pair.first << ' '
<< pair.second << std::endl;
}
outFile << std::endl << "[Session Conf]" << std::endl;
diff --git a/cpp/velox/compute/VeloxRuntime.h b/cpp/velox/compute/VeloxRuntime.h
index e2097edb1..80408bccb 100644
--- a/cpp/velox/compute/VeloxRuntime.h
+++ b/cpp/velox/compute/VeloxRuntime.h
@@ -132,7 +132,7 @@ class VeloxRuntime final : public Runtime {
private:
std::shared_ptr<const facebook::velox::core::PlanNode> veloxPlan_;
- std::shared_ptr<const facebook::velox::Config> veloxCfg_;
+ std::shared_ptr<facebook::velox::Config> veloxCfg_;
bool debugModeEnabled_{false};
std::unordered_map<int32_t, std::shared_ptr<ColumnarBatch>>
emptySchemaBatchLoopUp_;
diff --git a/cpp/velox/compute/WholeStageResultIterator.cc
b/cpp/velox/compute/WholeStageResultIterator.cc
index 006b37588..06a7a7c39 100644
--- a/cpp/velox/compute/WholeStageResultIterator.cc
+++ b/cpp/velox/compute/WholeStageResultIterator.cc
@@ -62,7 +62,7 @@ WholeStageResultIterator::WholeStageResultIterator(
const std::unordered_map<std::string, std::string>& confMap,
const SparkTaskInfo& taskInfo)
: memoryManager_(memoryManager),
- veloxCfg_(std::make_shared<const
facebook::velox::core::MemConfigMutable>(confMap)),
+ veloxCfg_(std::make_shared<facebook::velox::core::MemConfig>(confMap)),
taskInfo_(taskInfo),
veloxPlan_(planNode),
scanNodeIds_(scanNodeIds),
diff --git a/cpp/velox/compute/WholeStageResultIterator.h
b/cpp/velox/compute/WholeStageResultIterator.h
index 10c1937b7..0ad3877ff 100644
--- a/cpp/velox/compute/WholeStageResultIterator.h
+++ b/cpp/velox/compute/WholeStageResultIterator.h
@@ -103,7 +103,7 @@ class WholeStageResultIterator : public
ColumnarBatchIterator {
VeloxMemoryManager* memoryManager_;
/// Config, task and plan.
- const std::shared_ptr<const Config> veloxCfg_;
+ std::shared_ptr<Config> veloxCfg_;
const SparkTaskInfo taskInfo_;
std::shared_ptr<facebook::velox::exec::Task> task_;
std::shared_ptr<const facebook::velox::core::PlanNode> veloxPlan_;
diff --git a/cpp/velox/operators/writer/VeloxParquetDatasourceABFS.h
b/cpp/velox/operators/writer/VeloxParquetDatasourceABFS.h
index 2251a46ff..208e6a7ec 100644
--- a/cpp/velox/operators/writer/VeloxParquetDatasourceABFS.h
+++ b/cpp/velox/operators/writer/VeloxParquetDatasourceABFS.h
@@ -42,10 +42,8 @@ class VeloxParquetDatasourceABFS final : public
VeloxParquetDatasource {
std::shared_ptr<arrow::Schema> schema)
: VeloxParquetDatasource(filePath, veloxPool, sinkPool, schema) {}
void init(const std::unordered_map<std::string, std::string>& sparkConfs)
override {
- auto confs =
std::make_shared<facebook::velox::core::MemConfigMutable>(sparkConfs);
- auto hiveConfs = getHiveConfig(confs);
- auto fileSystem = filesystems::getFileSystem(
- filePath_,
std::make_shared<facebook::velox::core::MemConfig>(hiveConfs->valuesCopy()));
+ auto hiveConf =
getHiveConfig(std::make_shared<facebook::velox::core::MemConfig>(sparkConfs));
+ auto fileSystem = filesystems::getFileSystem(filePath_, hiveConf);
auto* abfsFileSystem =
dynamic_cast<filesystems::abfs::AbfsFileSystem*>(fileSystem.get());
sink_ = std::make_unique<dwio::common::WriteFileSink>(
abfsFileSystem->openFileForWrite(filePath_, {{}, sinkPool_.get()}),
filePath_);
diff --git a/cpp/velox/operators/writer/VeloxParquetDatasourceHDFS.h
b/cpp/velox/operators/writer/VeloxParquetDatasourceHDFS.h
index 1b37a7c6f..32cf960cb 100644
--- a/cpp/velox/operators/writer/VeloxParquetDatasourceHDFS.h
+++ b/cpp/velox/operators/writer/VeloxParquetDatasourceHDFS.h
@@ -42,12 +42,8 @@ class VeloxParquetDatasourceHDFS final : public
VeloxParquetDatasource {
std::shared_ptr<arrow::Schema> schema)
: VeloxParquetDatasource(filePath, veloxPool, sinkPool, schema) {}
void init(const std::unordered_map<std::string, std::string>& sparkConfs)
override {
- auto confs =
std::make_shared<facebook::velox::core::MemConfigMutable>(sparkConfs);
- auto hiveConfs = getHiveConfig(confs);
- sink_ = dwio::common::FileSink::create(
- filePath_,
- {.connectorProperties =
std::make_shared<facebook::velox::core::MemConfig>(hiveConfs->valuesCopy()),
- .pool = sinkPool_.get()});
+ auto hiveConf =
getHiveConfig(std::make_shared<facebook::velox::core::MemConfig>(sparkConfs));
+ sink_ = dwio::common::FileSink::create(filePath_, {.connectorProperties =
hiveConf, .pool = sinkPool_.get()});
VeloxParquetDatasource::init(sparkConfs);
}
};
diff --git a/cpp/velox/operators/writer/VeloxParquetDatasourceS3.h
b/cpp/velox/operators/writer/VeloxParquetDatasourceS3.h
index 92965d4e3..a5c49fcd9 100644
--- a/cpp/velox/operators/writer/VeloxParquetDatasourceS3.h
+++ b/cpp/velox/operators/writer/VeloxParquetDatasourceS3.h
@@ -42,12 +42,8 @@ class VeloxParquetDatasourceS3 final : public
VeloxParquetDatasource {
std::shared_ptr<arrow::Schema> schema)
: VeloxParquetDatasource(filePath, veloxPool, sinkPool, schema) {}
void init(const std::unordered_map<std::string, std::string>& sparkConfs)
override {
- auto confs =
std::make_shared<facebook::velox::core::MemConfigMutable>(sparkConfs);
- auto hiveConfs = getHiveConfig(confs);
- sink_ = dwio::common::FileSink::create(
- filePath_,
- {.connectorProperties =
std::make_shared<facebook::velox::core::MemConfig>(hiveConfs->valuesCopy()),
- .pool = sinkPool_.get()});
+ auto hiveConf =
getHiveConfig(std::make_shared<facebook::velox::core::MemConfig>(sparkConfs));
+ sink_ = dwio::common::FileSink::create(filePath_, {.connectorProperties =
hiveConf, .pool = sinkPool_.get()});
VeloxParquetDatasource::init(sparkConfs);
}
};
diff --git a/cpp/velox/substrait/SubstraitToVeloxPlan.cc
b/cpp/velox/substrait/SubstraitToVeloxPlan.cc
index 366ab5abd..b50f9bd34 100644
--- a/cpp/velox/substrait/SubstraitToVeloxPlan.cc
+++ b/cpp/velox/substrait/SubstraitToVeloxPlan.cc
@@ -1076,8 +1076,7 @@ core::PlanNodePtr
SubstraitToVeloxPlanConverter::toVeloxPlan(const ::substrait::
std::vector<TypePtr> veloxTypeList;
std::vector<ColumnType> columnTypes;
// Convert field names into lower case when not case-sensitive.
- std::shared_ptr<const facebook::velox::Config> veloxCfg =
- std::make_shared<const
facebook::velox::core::MemConfigMutable>(confMap_);
+ std::unique_ptr<facebook::velox::Config> veloxCfg =
std::make_unique<facebook::velox::core::MemConfig>(confMap_);
bool asLowerCase = !veloxCfg->get<bool>(kCaseSensitive, false);
if (readRel.has_base_schema()) {
const auto& baseSchema = readRel.base_schema();
diff --git a/cpp/velox/utils/ConfigExtractor.cc
b/cpp/velox/utils/ConfigExtractor.cc
index 3889fee6a..0cbba37a7 100644
--- a/cpp/velox/utils/ConfigExtractor.cc
+++ b/cpp/velox/utils/ConfigExtractor.cc
@@ -52,9 +52,8 @@ std::string getConfigValue(
return got->second;
}
-std::shared_ptr<facebook::velox::core::MemConfigMutable> getHiveConfig(
- const std::shared_ptr<const facebook::velox::Config>& conf) {
- auto hiveConf = std::make_shared<facebook::velox::core::MemConfigMutable>();
+std::shared_ptr<facebook::velox::core::MemConfig>
getHiveConfig(std::shared_ptr<facebook::velox::Config> conf) {
+ std::unordered_map<std::string, std::string> hiveConfMap;
#ifdef ENABLE_S3
std::string awsAccessKey =
conf->get<std::string>("spark.hadoop.fs.s3a.access.key", "");
@@ -82,24 +81,23 @@ std::shared_ptr<facebook::velox::core::MemConfigMutable>
getHiveConfig(
}
if (useInstanceCredentials) {
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3UseInstanceCredentials,
"true");
+
hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3UseInstanceCredentials]
= "true";
} else if (!iamRole.empty()) {
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3IamRole,
iamRole);
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3IamRole] =
iamRole;
if (!iamRoleSessionName.empty()) {
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3IamRoleSessionName,
iamRoleSessionName);
+
hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3IamRoleSessionName]
= iamRoleSessionName;
}
} else {
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3AwsAccessKey,
awsAccessKey);
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3AwsSecretKey,
awsSecretKey);
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3AwsAccessKey]
= awsAccessKey;
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3AwsSecretKey]
= awsSecretKey;
}
// Only need to set s3 endpoint when not use instance credentials.
if (!useInstanceCredentials) {
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3Endpoint,
awsEndpoint);
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3Endpoint] =
awsEndpoint;
}
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3SSLEnabled,
sslEnabled ? "true" : "false");
- hiveConf->setValue(
- facebook::velox::connector::hive::HiveConfig::kS3PathStyleAccess,
pathStyleAccess ? "true" : "false");
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kS3LogLevel,
awsSdkLogLevel);
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3SSLEnabled] =
sslEnabled ? "true" : "false";
+
hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3PathStyleAccess] =
pathStyleAccess ? "true" : "false";
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kS3LogLevel] =
awsSdkLogLevel;
#endif
#ifdef ENABLE_GCS
@@ -118,8 +116,8 @@ std::shared_ptr<facebook::velox::core::MemConfigMutable>
getHiveConfig(
}
if (!gcsEndpoint.empty() && !gcsScheme.empty()) {
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kGCSScheme,
gcsScheme);
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kGCSEndpoint,
gcsEndpoint);
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kGCSScheme] =
gcsScheme;
+ hiveConfMap[facebook::velox::connector::hive::HiveConfig::kGCSEndpoint]
= gcsEndpoint;
}
}
@@ -133,7 +131,7 @@ std::shared_ptr<facebook::velox::core::MemConfigMutable>
getHiveConfig(
auto stream = std::ifstream(gsAuthServiceAccountJsonKeyfile.value());
stream.exceptions(std::ios::badbit);
std::string gsAuthServiceAccountJson =
std::string(std::istreambuf_iterator<char>(stream.rdbuf()), {});
-
hiveConf->setValue(facebook::velox::connector::hive::HiveConfig::kGCSCredentials,
gsAuthServiceAccountJson);
+
hiveConfMap[facebook::velox::connector::hive::HiveConfig::kGCSCredentials] =
gsAuthServiceAccountJson;
} else {
LOG(WARNING) << "STARTUP: conf spark.hadoop.fs.gs.auth.type is set to
SERVICE_ACCOUNT_JSON_KEYFILE, "
"however conf
spark.hadoop.fs.gs.auth.service.account.json.keyfile is not set";
@@ -143,11 +141,10 @@ std::shared_ptr<facebook::velox::core::MemConfigMutable>
getHiveConfig(
}
#endif
- hiveConf->setValue(
- facebook::velox::connector::hive::HiveConfig::kEnableFileHandleCache,
- conf->get<bool>(kVeloxFileHandleCacheEnabled,
kVeloxFileHandleCacheEnabledDefault) ? "true" : "false");
+
hiveConfMap[facebook::velox::connector::hive::HiveConfig::kEnableFileHandleCache]
=
+ conf->get<bool>(kVeloxFileHandleCacheEnabled,
kVeloxFileHandleCacheEnabledDefault) ? "true" : "false";
- return hiveConf;
+ return
std::make_shared<facebook::velox::core::MemConfig>(std::move(hiveConfMap));
}
} // namespace gluten
diff --git a/cpp/velox/utils/ConfigExtractor.h
b/cpp/velox/utils/ConfigExtractor.h
index 09b1178e6..c5f662c95 100644
--- a/cpp/velox/utils/ConfigExtractor.h
+++ b/cpp/velox/utils/ConfigExtractor.h
@@ -33,7 +33,6 @@ std::string getConfigValue(
const std::string& key,
const std::optional<std::string>& fallbackValue);
-std::shared_ptr<facebook::velox::core::MemConfigMutable> getHiveConfig(
- const std::shared_ptr<const facebook::velox::Config>& conf);
+std::shared_ptr<facebook::velox::core::MemConfig>
getHiveConfig(std::shared_ptr<facebook::velox::Config> conf);
} // namespace gluten
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]