This is an automated email from the ASF dual-hosted git repository.
yuanzhou 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 903bf54310 [GLUTEN-6887][VL] Daily Update Velox Version (2025_11_05)
(#11030)
903bf54310 is described below
commit 903bf543102f9ca5619ffa5ab43585ca28528065
Author: Gluten Performance Bot
<[email protected]>
AuthorDate: Wed Nov 5 21:26:39 2025 +0000
[GLUTEN-6887][VL] Daily Update Velox Version (2025_11_05) (#11030)
* [GLUTEN-6887][VL] Daily Update Velox Version (2025_11_05)
Upstream Velox's New Commits:
5c9f9dd55 by Ke Wang, fix: Add missing metadataFilter_ transfer for split
prefetch (#15385)
e174b466b by Ke Wang, Back out "perf: Do not request data size if there is
only a single source as in persistent shuffle" (#15406)
f25af0b8d by Masha Basmanova, refactor: Delete no longer used
exec::toSubfieldFilter API (#15402)
6fa94f21c by Masha Basmanova, docs: Document ExprToSubfieldFilterParser
APIs (#15393)
b36595fb7 by Masha Basmanova, refactor: Deprecate exec::toSubfieldFilter
API (#15392)
833482d7a by Xiao Du, fix: Fix memory pool cleanup in exchange operator
tests (#15344)
371703eaa by Jialiang Tan, feat: Add custom spill base dir support for
trace replayer (#15335)
2423fbe4c by Karthikeyan, fix(cudf): Add missed updates to LocalPartition
and Aggregation (#15368)
f33915857 by Devavret Makkar, feat(cuDF): Add support for Coalesce in
cudf's expression evaluator (#14803)
5589bdaaa by Masha Basmanova, refactor: Replace factory with singleton in
ExprToSubfieldFilterParser (#15390)
ec4059b98 by Jimmy Lu, Back out "fix: Reduce lock contention in
ScanTracker" (#15388)
ba52907ed by MacVincent Agha-Oko, feat(Nimble): New Flush Policy
Implementation With Chunking (#14846)
86228365d by Christian Zentgraf, build(ci): Use GCC14 for the adapters CI
(#15307)
6bb539903 by Jimmy Lu, feat: Add HiveTableHandle::columnHandles (#15351)
c1f2bb43e by Karthikeyan, feat(cudf): Add velox-cudf support for TopN
(#14797)
Signed-off-by: glutenperfbot <[email protected]>
* fix
Signed-off-by: Yuan <[email protected]>
* fix
Signed-off-by: Yuan <[email protected]>
---------
Signed-off-by: glutenperfbot <[email protected]>
Signed-off-by: Yuan <[email protected]>
Co-authored-by: glutenperfbot <[email protected]>
Co-authored-by: Yuan <[email protected]>
---
cpp/velox/compute/VeloxBackend.cc | 3 +--
.../functions/SparkExprToSubfieldFilterParser.cc | 26 ++++++++++++++++++++++
.../functions/SparkExprToSubfieldFilterParser.h | 4 ++++
ep/build-velox/src/get-velox.sh | 4 ++--
4 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/cpp/velox/compute/VeloxBackend.cc
b/cpp/velox/compute/VeloxBackend.cc
index fedb5aa171..8e54762fc0 100644
--- a/cpp/velox/compute/VeloxBackend.cc
+++ b/cpp/velox/compute/VeloxBackend.cc
@@ -187,8 +187,7 @@ void VeloxBackend::init(
velox::parquet::registerParquetReaderFactory();
velox::parquet::registerParquetWriterFactory();
velox::orc::registerOrcReaderFactory();
- velox::exec::ExprToSubfieldFilterParser::registerParserFactory(
- []() { return std::make_shared<SparkExprToSubfieldFilterParser>(); });
+
velox::exec::ExprToSubfieldFilterParser::registerParser(std::make_unique<SparkExprToSubfieldFilterParser>());
// Register Velox functions
registerAllFunctions();
diff --git a/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.cc
b/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.cc
index e17796632e..c1bc452bd8 100644
--- a/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.cc
+++ b/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.cc
@@ -20,6 +20,32 @@ namespace gluten {
using namespace facebook::velox;
+std::pair<common::Subfield, std::unique_ptr<common::Filter>>
SparkExprToSubfieldFilterParser::toSubfieldFilter(
+ const core::TypedExprPtr& expr,
+ core::ExpressionEvaluator* evaluator) {
+ if (expr->isCallKind(); auto* call =
expr->asUnchecked<core::CallTypedExpr>()) {
+ if (call->name() == "or") {
+ auto left = toSubfieldFilter(call->inputs()[0], evaluator);
+ auto right = toSubfieldFilter(call->inputs()[1], evaluator);
+ VELOX_CHECK(left.first == right.first);
+ return {std::move(left.first), makeOrFilter(std::move(left.second),
std::move(right.second))};
+ }
+ common::Subfield subfield;
+ std::unique_ptr<common::Filter> filter;
+ if (call->name() == "not") {
+ if (auto* inner = call->inputs()[0]->asUnchecked<core::CallTypedExpr>())
{
+ filter = leafCallToSubfieldFilter(*inner, subfield, evaluator, true);
+ }
+ } else {
+ filter = leafCallToSubfieldFilter(*call, subfield, evaluator, false);
+ }
+ if (filter) {
+ return std::make_pair(std::move(subfield), std::move(filter));
+ }
+ }
+ VELOX_UNSUPPORTED("Unsupported expression for range filter: {}",
expr->toString());
+}
+
std::unique_ptr<common::Filter>
SparkExprToSubfieldFilterParser::leafCallToSubfieldFilter(
const core::CallTypedExpr& call,
common::Subfield& subfield,
diff --git a/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.h
b/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.h
index 84f28325f7..4b699fb172 100644
--- a/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.h
+++ b/cpp/velox/operators/functions/SparkExprToSubfieldFilterParser.h
@@ -23,6 +23,10 @@ namespace gluten {
/// 2) The supported functions vary.
class SparkExprToSubfieldFilterParser : public
facebook::velox::exec::ExprToSubfieldFilterParser {
public:
+ std::pair<facebook::velox::common::Subfield,
std::unique_ptr<facebook::velox::common::Filter>> toSubfieldFilter(
+ const facebook::velox::core::TypedExprPtr& expr,
+ facebook::velox::core::ExpressionEvaluator* evaluator) override;
+
std::unique_ptr<facebook::velox::common::Filter> leafCallToSubfieldFilter(
const facebook::velox::core::CallTypedExpr& call,
facebook::velox::common::Subfield& subfield,
diff --git a/ep/build-velox/src/get-velox.sh b/ep/build-velox/src/get-velox.sh
index 961b2d99ee..8ae534be1a 100755
--- a/ep/build-velox/src/get-velox.sh
+++ b/ep/build-velox/src/get-velox.sh
@@ -18,11 +18,11 @@ set -exu
CURRENT_DIR=$(cd "$(dirname "$BASH_SOURCE")"; pwd)
VELOX_REPO=https://github.com/oap-project/velox.git
-VELOX_BRANCH=2025_11_04
+VELOX_BRANCH=2025_11_05
VELOX_HOME=""
RUN_SETUP_SCRIPT=ON
VELOX_ENHANCED_REPO=https://github.com/IBM/velox.git
-VELOX_ENHANCED_BRANCH=ibm-2025_11_04
+VELOX_ENHANCED_BRANCH=ibm-2025_11_05
ENABLE_ENHANCED_FEATURES=OFF
# Developer use only for testing Velox PR.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]