This is an automated email from the ASF dual-hosted git repository.
zhouyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 0b102a92c7 [GLUTEN-6887][VL] Daily Update Velox Version (2026_11_05)
(#13540)
0b102a92c7 is described below
commit 0b102a92c7c2bd67dfdc86668d9c54c1df702d38
Author: Gluten Performance Bot
<[email protected]>
AuthorDate: Thu Nov 5 18:11:20 2026 +0000
[GLUTEN-6887][VL] Daily Update Velox Version (2026_11_05) (#13540)
* [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_11_05)
Upstream Velox's New Commits:
0fdc35ff8 by Jimmy Lu, refactor: Add MultiStagePlan and build Axiom's plans
on it (#19993)
72c8d9021 by Matt Gara, fix(cudf): Support the intermediate step of a
global avg
09ecbcfb6 by shanhao-203, perf(nimble): Hybrid FlatMap copy per key -> copy
per group (#20021)
82cb0425a by tanjialiang, feat(nimble): Read multi-chunk streams in
StreamReader (#20079)
d2daad780 by tanjialiang, feat(nimble): Add BlockBitPackingV2 and move V1
to deprecated (#19959)
bcb783990 by Xiaoxuan, perf(index): Read the keys of a key cursor in
batches (#20040)
b28089cb5 by Richard Barnes, refactor: Use std::identity instead of
folly::identity (2/2)
2b1a2278f by Ke, feat(nimble): Default chunk stats min_avg_chunks to 0
(#20050)
587ce8953 by Pedro Pedreira, test(nimble): Re-enable the flat map as struct
E2E filter test (#20068)
b1e72846e by kevinwilfong, fix: Fix MergeJoin filter tracking across output
batch boundaries (#19947)
f4a075922 by Apurva Kumar, test(nimble): Run the uncached FSST memory pool
test instead of skipping it
ea94e1a45 by Paul Meng, fix(nimble): Stop overwriting buffers a slice still
views
67f9e7a2a by Pedro Pedreira, refactor: Detect sanitizers with folly instead
of __has_feature
8046f196b by GALI PREM SAGAR, feat(cudf): Honor FILTER masks for avg,
stddev and approx_distinct
e18158699 by XiaoDu, refactor(common): Share identity projections
63898d03c by Ke, perf(nimble): Skip chunks in sparse string dictionary
reads (#20004)
b48bacdd4 by macduan, fix(paimon): Make task cancellation deterministic
f5f84ad66 by peterenescu, fix(dwio): Select the in-map bits of filtered
rows in flat map readers
d88336369 by Morgan McLain-Smith, fix(exec): Free sorted aggregation input
of finished groups (#19750)
28e6372b4 by Wechar Yu, feat(parquet): Support size statistics
88d662804 by Richard Barnes, fix(iceberg): Guard error-message constant
[unused-const-variable]
d5d85c016 by Rong Ma, fix(arrow): Export Utf8View without modifying the
source vector
17170a5a1 by Maria Basmanova, docs: Describe how to update the version of a
dependency
2435b824d by Naveen Mahadevuni, refactor(iceberg): Tests to use Iceberg
table and column handle
841502a2f by rdtr, fix(parquet): Read a column with the UNKNOWN annotation
as any requested type
7ec01c0e6 by PRASHANT GOLASH, test(nimble): Fuzz filtered FSST and
dictionary reads (#19901)
b3833a48d by Daniel Bauer, fix(hive): Preserve zero-column scan output type
f4938c81c by Apurva Kumar, refactor(nimble): Remove the stripe-stats
section and stripe pruning
949fd583b by Maria Basmanova, build: Enable FAISS in the Linux Clang CI
build
4e773faae by Maria Basmanova, build: Build the Clang adapters CI job with
Clang
a40c93fe0 by hu hengrui, perf(filters): Optimize SIMD evaluation of
IsNotNull filters
5929f86ce by dependabot[bot], build(deps): Bump body-parser from 1.20.5 to
1.20.9 in /website
65d264d94 by Sutou Kouhei, build: Update simdjson to 4.3.0 (from 4.1.0)
09b7d580a by dependabot[bot], build(deps): Bump follow-redirects from
1.16.1 to 1.16.2 in /website
002494945 by Rui Mo, feat(parquet): Support dictionary-encoded FLBA strings
in Parquet reader
3d36a984d by dependabot[bot], build(deps): Bump postcss-selector-parser
from 6.1.4 to 6.1.5 in /website
ee28304db by dependabot[bot], build(deps): Bump joi from 17.13.8 to 17.13.9
in /website
9f0d5919a by dependabot[bot], build(deps): Bump fast-uri from 3.1.8 to
3.1.9 in /website
f6433b574 by Xiaoxuan, perf(nimble): Gather Dictionary alphabet values in
bulk (#20022)
f494258f2 by PRASHANT GOLASH, feat(nimble): Cache decoded strings for
repeated FSST payloads (#19819)
896faf1c1 by PRASHANT GOLASH, refactor: Stop including folly/Format.h
ab8ba883f by macduan, refactor(paimon): Decouple shared file infrastructure
from Hive
eb2241df7 by Xiaoxuan, Add a hierarchical cluster index over RocksDB
internal keys (#20023)
3a9c5a322 by bowen.yang, feat(spark): Add Spark arrays_overlap (#19805)
bfd81c220 by Pedro Pedreira, fix(expression): Stop copying unchanged nodes
when folding
aaaf76a0e by Wannuc-M, feat(rpc): Count overloaded in-transport retries
c2f70d4cf by PRASHANT GOLASH, test(nimble): Fuzz FSST lifecycle and
encoding views (#19900)
02ee2a433 by Ke, feat(nimble): Reject top-level nulls with chunk stats
563585c95 by bowen.yang, refactor(sparksql): Move JavaFloatingPoint to
sparksql (#19921)
7710fdce4 by Simon Eves, test(cudf): Re-enable decimal scan and unicode
LIKE tests
adb42d91b by Xiaoxuan, feat(index): Let a hierarchical cluster index
factory define its key format (#20012)
53d16900a by Wannuc-M, fix(trace): Redact cat_token from the traced plan
470da3804 by Ke, fix(nimble): Free the open chunk on skips to the stream
end (#20002)
839cb7beb by Xiaoxuan, feat(nimble): Let NimbleIndexProjector cache
encoding views (#20013)
ef70f8b4d by Rui Mo, fix(parquet): Fix reading array of row
1911d1762 by Apurva Kumar, perf(iceberg): Merge new deletes into an
existing deletion vector without re-sorting
76175211c by PRASHANT GOLASH, fix(nimble): Check final FSST compression
ratio (#19818)
f30da5918 by shanhao-203, perf(nimble): Avoid re-sorting sorted Hybrid
FlatMap keys
cd11e9e82 by Wannuc-M, feat(rpc): Report time spent pacing in the RPC rate
limiter (#20000)
fc421db3f by Denis Yaroshevskiy, perf(exec): Add StringView prefix fast
path to RowContainer string comparison (#19890)
1e11aefa3 by Apurva Kumar, perf(iceberg): Serialize deletion vectors in one
pass over sorted positions
68911ce83 by Apurva Kumar, docs(blog): Add deletion vector write benchmark
to Iceberg V3 post (#19998)
58c6924eb by PRASHANT GOLASH, feat(nimble): Compare negated FSST ranges
(#19816)
32bb15262 by Richard Barnes, build(serialization): Include <map> in
Serializable.h
e0c8817bf by GALI PREM SAGAR, feat(cudf): Run Presto's array_agg on the GPU
992cf2e58 by Apurva Kumar, perf(iceberg): Read deletion vectors without
expanding rows
541dd3d7e by Richard Barnes, refactor(tzdb): Use std::remove_cvref instead
of folly::remove_cvref
7fdcf6fe6 by dependabot[bot], build(ci): Bump
apache/infrastructure-actions/stash/save from
b1b1ab191498302581efdef55279706f79249c0e to
bd72894b857767d42834c186c90767d5c86624bb
0e1764863 by dependabot[bot], build(ci): Bump pypa/cibuildwheel from 4.2.0
to 4.3.4
e7ea3332b by Maria Basmanova, feat(type): Add RowType::unionWith overloads
for new fields
14cdfa2ad by Morgan McLain-Smith, fix(core): Move serialized children into
their parent (#19751)
77cdb0454 by Minni Mittal, feat(spark): Add encode function
eb67e0dbf by Maria Basmanova, refactor(vector): Template createFromVariants
on vector type
1004340de by Maria Basmanova, build(ci): Use the system FAISS from the CI
images
bcdd6686d by Maria Basmanova, feat: Add VELOX_NYI_CHECK macros
fb4a9f47a by Maria Basmanova, docs: Ask error messages to name the mistake
ad3654098 by Maria Basmanova, feat(parse): Add PlaceholderExpr (#19971)
488de5f69 by Maria Basmanova, feat(vectorindex): Add VECTOR_INDEX type,
cardinality and vector_count (#19969)
40499efb2 by Denis Yaroshevskiy, test: Add StringView and RowContainer
compare benchmarks (#19935)
186ef051c by Denis Yaroshevskiy, test: Add string comparison cases for
StringView and RowContainer (#19937)
fb0d5cf13 by PRASHANT GOLASH, perf(nimble): Reuse skipped encoded arena
chunks (#19962)
4f98e096a by PRASHANT GOLASH, feat(nimble): Filter FSST ranges without
decoding (#19817)
0057888c8 by PRASHANT GOLASH, fix(nimble): Count live strings in
first-chunk gate (#19961)
491fb91b1 by PRASHANT GOLASH, test(nimble): Generate ALP and ALP_RD Java
reader fixtures (#19903)
5978fc8ef by PRASHANT GOLASH, fix(nimble): Allocate exact cached FSST
buffers (#19825)
086c431d2 by GALI PREM SAGAR, feat(cudf): Project constants over a
zero-column input on the GPU
e67ed5114 by Apurva Kumar, docs(blog): Update Iceberg V3 benchmark results
2df03e5a9 by Maria Basmanova, refactor(vectorindex): Rename VectorIndexType
to VectorIndexKind (#19968)
98d666ad3 by zhichenxu-meta, feat(rpc): Add count limits to capacity-retry
hints (#19876)
dbfe6d418 by Maria Basmanova, fix(ci): Fail clang-tidy only on errors from
checks
c9c8919a7 by macduan, refactor(paimon): Consolidate table and column handle
state and serde
ecec5119e by Xiaoxuan, Index integer user keys hierarchically in Nimble
(#19966)
c21d1de4e by Hongze Zhang, refactor: Add SelectivityVector::complement and
simplify call sites
2463cebd0 by oerling, feat(torchwave): Execute every node from a step
program bound before the first run (#19836)
52f87fe00 by Apurva Kumar, docs(blog): Add delete benchmark results to
Iceberg V3 post
63b948ade by Sutou Kouhei, fix(build): Link gmock to the Nimble tests that
use it
ff72368a2 by Felipe Pessoto, fix(parquet): Widen DATE columns to
TIMESTAMP_UTC
d9a0c1c6c by hu hengrui, perf(HashTable): Prefetch accumulators when
probing a group table
34d0bae55 by Akshay Tayal, fix(spark): Throw overflow error in date_trunc
for out-of-range results
34ea27a1d by Akshay Tayal, feat: Add Spark normalize_nan_and_zero function
6d4e7d542 by Zhu, Lipeng, perf(functions): Inline Spark XxHash64 integer
hashing into the header
24614c3f9 by Matt Gara, test(cudf): Re-enable timestamp filter test, drop
return-type test
f95091078 by Maria Basmanova, fix(exec): Fix fixed-point hang when a reader
stops early (#19960)
fa0739103 by RindsSchei225e, refactor(nimble): Delete the legacy encoding
path (#19957)
3083dfc82 by Maria Basmanova, fix(build): Upgrade FAISS to 1.12.0 (from
1.11.0) and find OpenMP for system installs
b74f6d743 by Luis PeƱaranda, feat(sparksql): Implement and register
integral ROUND with ANSI handling
8f6c94686 by Maria Basmanova, fix(exec): Wait for sub-tasks in
Task::taskDeletionFuture
9e25a47a5 by GALI PREM SAGAR, fix(build): Link gmock into the vector index
aggregate test
a65cd5b5a by Apurva Kumar, docs(blog): Add Iceberg V3 in Velox post (#19954)
---
.github/workflows/util/delta-spark-ut/known-failures.txt | 7 -------
.github/workflows/velox_backend_arm.yml | 7 +++++++
cpp/velox/CMakeLists.txt | 7 ++++++-
cpp/velox/substrait/SubstraitToVeloxPlan.cc | 11 +++++++++--
cpp/velox/utils/VeloxWriterUtils.cc | 4 ++++
dev/vcpkg/ports/simdjson/portfile.cmake | 2 +-
dev/vcpkg/ports/simdjson/vcpkg.json | 2 +-
ep/build-velox/src/get-velox.sh | 4 ++--
8 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/util/delta-spark-ut/known-failures.txt
b/.github/workflows/util/delta-spark-ut/known-failures.txt
index 92b199816c..333f26e7c0 100644
--- a/.github/workflows/util/delta-spark-ut/known-failures.txt
+++ b/.github/workflows/util/delta-spark-ut/known-failures.txt
@@ -484,10 +484,3 @@
org.apache.spark.sql.delta.storage.dv.DeletionVectorWriteDurabilitySuite#control
org.apache.spark.sql.delta.storage.dv.DeletionVectorWriteDurabilitySuite#the
kill-switch flag off does not apply the propagate-close fix
org.apache.spark.sql.delta.test.DeltaV2CDCStreamDeletionVectorSuite#cdc
streams with noop merge
org.apache.spark.sql.delta.test.DeltaV2CDCStreamSuite#cdc streams with noop
merge
-org.apache.spark.sql.delta.typewidening.TypeWideningAlterTableSuite#type
widening DATE -> TIMESTAMP_NTZ, partitioned=false
-org.apache.spark.sql.delta.typewidening.TypeWideningInsertSchemaEvolutionBasicDSv2Suite#INSERT
- always automatic type widening DATE -> TIMESTAMP_NTZ
-org.apache.spark.sql.delta.typewidening.TypeWideningInsertSchemaEvolutionBasicDSv2Suite#INSERT
- automatic type widening DATE -> TIMESTAMP_NTZ
-org.apache.spark.sql.delta.typewidening.TypeWideningInsertSchemaEvolutionBasicSuite#INSERT
- always automatic type widening DATE -> TIMESTAMP_NTZ
-org.apache.spark.sql.delta.typewidening.TypeWideningInsertSchemaEvolutionBasicSuite#INSERT
- automatic type widening DATE -> TIMESTAMP_NTZ
-org.apache.spark.sql.delta.typewidening.TypeWideningMergeIntoSchemaEvolutionSuite#MERGE
- automatic type widening DATE -> TIMESTAMP_NTZ
-org.apache.spark.sql.delta.typewidening.TypeWideningTableFeatureAdvancedSuite#drop
feature after type change DATE -> TIMESTAMP_NTZ
diff --git a/.github/workflows/velox_backend_arm.yml
b/.github/workflows/velox_backend_arm.yml
index 37ff33d445..a35c3a1b29 100644
--- a/.github/workflows/velox_backend_arm.yml
+++ b/.github/workflows/velox_backend_arm.yml
@@ -216,6 +216,13 @@ jobs:
df -a
bash dev/ci-velox-buildshared-centos-9.sh
ccache -s
+ - name: "Save ccache"
+ if: always()
+ uses:
apache/infrastructure-actions/stash/save@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
+ with:
+ path: '${{ env.CCACHE_DIR }}'
+ key: ccache-centos9-release-shared-${{runner.arch}}-${{
hashFiles('ep/build-velox/src/**') }}
+ include-hidden-files: true
- name: Run CPP unit test
run: |
cd ./cpp/build && ctest -V
diff --git a/cpp/velox/CMakeLists.txt b/cpp/velox/CMakeLists.txt
index 5f416eadcc..23dee4ac72 100644
--- a/cpp/velox/CMakeLists.txt
+++ b/cpp/velox/CMakeLists.txt
@@ -376,12 +376,17 @@ if(BUILD_TESTS)
facebook::velox::vector_fuzzer
INTERFACE facebook::velox::vector_fuzzer_util
facebook::velox::constrained_vector_generator)
+ import_library(
+ facebook::velox::local_exchange_source
+
${VELOX_BUILD_PATH}/velox/exec/tests/utils/libvelox_local_exchange_source.a)
import_library(
facebook::velox::exec_test_lib
${VELOX_BUILD_PATH}/velox/exec/tests/utils/libvelox_exec_test_lib.a)
target_link_libraries(
facebook::velox::exec_test_lib
- INTERFACE facebook::velox::vector_test_lib facebook::velox::vector_fuzzer
+ INTERFACE facebook::velox::local_exchange_source
+ facebook::velox::vector_test_lib
+ facebook::velox::vector_fuzzer
facebook::velox::dwio_common_test
facebook::velox::file_test_utils)
set(GLUTEN_VELOX_TEST_LIBRARIES facebook::velox::exec_test_lib)
diff --git a/cpp/velox/substrait/SubstraitToVeloxPlan.cc
b/cpp/velox/substrait/SubstraitToVeloxPlan.cc
index bb57cc6696..df076d0f6f 100644
--- a/cpp/velox/substrait/SubstraitToVeloxPlan.cc
+++ b/cpp/velox/substrait/SubstraitToVeloxPlan.cc
@@ -32,6 +32,7 @@
#endif
#include "velox/connectors/hive/HiveDataSink.h"
#include "velox/connectors/hive/iceberg/IcebergColumnHandle.h"
+#include "velox/connectors/hive/iceberg/IcebergTableHandle.h"
#include "velox/exec/TableWriter.h"
#include "velox/type/Type.h"
@@ -1714,8 +1715,14 @@ core::PlanNodePtr
SubstraitToVeloxPlanConverter::toVeloxPlan(const ::substrait::
#endif
}
common::SubfieldFilters subfieldFilters;
- tableHandle = std::make_shared<connector::hive::HiveTableHandle>(
- connectorId, "hive_table", std::move(subfieldFilters), remainingFilter,
dataColumns);
+ if (connectorId == connectorIds_.iceberg) {
+ // The Iceberg connector's data source requires an IcebergTableHandle.
+ tableHandle =
std::make_shared<connector::hive::iceberg::IcebergTableHandle>(
+ connectorId, "hive_table", std::move(subfieldFilters),
remainingFilter, dataColumns);
+ } else {
+ tableHandle = std::make_shared<connector::hive::HiveTableHandle>(
+ connectorId, "hive_table", std::move(subfieldFilters),
remainingFilter, dataColumns);
+ }
// Required subfields of scan columns (map-key pruning), from the
RequiredSubfieldsExtension the
// ScanMapKeyPruning rule packs into the ReadRel advanced extension. Each
path is transported as
diff --git a/cpp/velox/utils/VeloxWriterUtils.cc
b/cpp/velox/utils/VeloxWriterUtils.cc
index a2491836ea..703b97d9d4 100644
--- a/cpp/velox/utils/VeloxWriterUtils.cc
+++ b/cpp/velox/utils/VeloxWriterUtils.cc
@@ -148,6 +148,10 @@
std::shared_ptr<facebook::velox::dwio::common::WriterOptions> makeParquetWriteOp
enableWritePageIndex = boost::iequals(it->second, "true");
}
parquetOptions->enableWritePageIndex = enableWritePageIndex;
+ // Velox's writer emits Parquet size statistics by default, which parquet-mr
+ // used by Spark 3.x does not write. Disable them to keep file output (and
the
+ // size-based planning that depends on it) unchanged.
+ parquetOptions->sizeStatisticsLevel =
parquet::arrow::SizeStatisticsLevel::kNone;
writeOption->formatSpecificOptions = std::move(parquetOptions);
return writeOption;
}
diff --git a/dev/vcpkg/ports/simdjson/portfile.cmake
b/dev/vcpkg/ports/simdjson/portfile.cmake
index 6253089100..c0da4ee7cf 100644
--- a/dev/vcpkg/ports/simdjson/portfile.cmake
+++ b/dev/vcpkg/ports/simdjson/portfile.cmake
@@ -8,7 +8,7 @@ vcpkg_from_github(
HEAD_REF
master
SHA512
-
a7e683625fa7e17cfe39cf3915b13fa34c589a8bcace51a9a8a98948f4cbdb1fd4346a273a44d934aced4aad1da7bc695b3b4f9fea078ae4bdf2b48234e99de3
+
e0aee07decb7d6f82b4b32d3a6f41ec35c1902558c7278a6fad595fbe151a957fab4f16292a13a103a6d1f828003656f7ae855f725fcac96e91585425c868eb4
PATCHES
add-definition.patch)
diff --git a/dev/vcpkg/ports/simdjson/vcpkg.json
b/dev/vcpkg/ports/simdjson/vcpkg.json
index b7da2b0ab4..472d4c3d8a 100644
--- a/dev/vcpkg/ports/simdjson/vcpkg.json
+++ b/dev/vcpkg/ports/simdjson/vcpkg.json
@@ -1,6 +1,6 @@
{
"name": "simdjson",
- "version": "4.1.0",
+ "version": "4.3.0",
"description": "An extremely fast JSON library that can parse gigabytes of
JSON per second",
"homepage": "https://simdjson.org/",
"license": "Apache-2.0",
diff --git a/ep/build-velox/src/get-velox.sh b/ep/build-velox/src/get-velox.sh
index 284f9b92a3..2245a84906 100755
--- a/ep/build-velox/src/get-velox.sh
+++ b/ep/build-velox/src/get-velox.sh
@@ -18,8 +18,8 @@ set -exu
CURRENT_DIR=$(cd "$(dirname "$BASH_SOURCE")"; pwd)
VELOX_REPO=https://github.com/IBM/velox.git
-VELOX_BRANCH=dft-2026_11_01
-VELOX_ENHANCED_BRANCH=ibm-2026_11_01
+VELOX_BRANCH=dft-2026_11_05
+VELOX_ENHANCED_BRANCH=ibm-2026_11_05
VELOX_HOME=""
RUN_SETUP_SCRIPT=ON
ENABLE_ENHANCED_FEATURES=OFF
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]