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 1f9c9a0eb8 [GLUTEN-6887][VL] Daily Update Velox Version (2026_10_06) 
(#13209)
1f9c9a0eb8 is described below

commit 1f9c9a0eb84f57bab88b7ccd936b893765f56bdd
Author: Gluten Performance Bot 
<[email protected]>
AuthorDate: Wed Oct 7 13:36:01 2026 +0100

    [GLUTEN-6887][VL] Daily Update Velox Version (2026_10_06) (#13209)
    
    * [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_10_06)
    
    Upstream Velox's New Commits:
    b2bff1217 by Xiaoxuan, test(file): Skip on io_uring setup ENOMEM
    fa67ff41a by Maria Basmanova, fix(table-write): Handle merge with no input
    30b9587a5 by Xiaoxuan, fix(cudf): Update batch concat stream type
    7968827db by Xiaoxuan, feat(nimble): Use schema-key presence bitmaps 
(#19318)
    c1000e6bd by Daniel Bauer, feat(exec)!: Select the exchange client and 
operator per node via a registry
    081885b87 by Suryadev Sahadevan Rajesh, fix(nimble): Suspend buffered 
writes during arbitration (#19303)
    a019edc7d by Felipe Pessoto, fix(parquet): Preserve scalar matches in delta 
decoding
    006717813 by shanhao-203, feat(nimble): Allow a Hybrid FlatMap with only 
the Default group (#19308)
    303719a4d by Aditi Pandit, perf(exec): Apply abandon logic for 
TopNRowNumber with no partition keys case
    91ec90cd8 by Karthikeyan, feat(cudf): Add byte target for CudfBatchConcat
    6f281b753 by Naveen Mahadevuni, feat(iceberg): Support querying changelog 
table
    de34f736d by Daniel Bauer, fix(parquet): Include column name in TIME_MICROS 
errors
    4cf478c86 by Muhammad Haseeb, fix(cudf): Allow case insensitive column 
selection by CudfSplitReader
    d9a64b889 by Reema, fix(cudf): Reject device resident input in CudfFromVelox
    710e672fd by Minni Mittal, build(spark): Add libxml2 dependency for Spark 
XPath functions
    fff96449e by Julian Rossi, feat(cudf): Expose live-allocated GPU bytes via 
statistics_resource_adaptor
    f7079643f by Devavret Makkar, fix(cudf): Decouple local exchange hashing 
from remote partitioning
    c1e0eefc2 by Yabin Ma, fix(s3fs): Bump AWS_SDK_VERSION to 1.11.806 for FIPS 
with OpenSSL 3.5
    093b0ea67 by LingBin, feat(benchmark): Add --query_configs flag
    08a9bc70e by Bradley Dice, feat(cudf): Update to cuDF 26.12 and adapt to 
cuda::device_buffer null masks
    a4bb8f6ee by dependabot[bot], build(deps): Bump axios from 1.18.0 to 1.20.0 
in /website
    a7973087f by Pedro Pedreira, perf(common): Drop the function-local static 
in gather8Bits (#19302)
    1816dac7b by Pedro Pedreira, refactor(vector): Move FlatMapVector key 
setters out of the header (#19317)
    5b73185d6 by Pedro Pedreira, test(vector): Add FlatMapVector key index 
benchmark (#19316)
    
    Signed-off-by: glutenperfbot <[email protected]>
    
    * bump aws sdk version
    
    Signed-off-by: Yuan <[email protected]>
    
    * fix delta build native lib
    
    Signed-off-by: Yuan <[email protected]>
    
    * fix gpu
    
    Signed-off-by: Yuan <[email protected]>
    
    * fix format
    
    Signed-off-by: Yuan <[email protected]>
    
    * fix
    
    Signed-off-by: Yuan <[email protected]>
    
    * fix for vcpkg + dynamic openssl feature
    
    Signed-off-by: Yuan <[email protected]>
    
    * fix format
    
    Signed-off-by: Yuan <[email protected]>
    
    * fix mvn version
    
    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]>
---
 .github/workflows/delta_spark_ut.yml       | 33 +++++++++++-------
 build/mvn                                  | 27 +++++++-------
 cpp/velox/CMakeLists.txt                   |  6 ++++
 cpp/velox/utils/GpuBufferBatchResizer.cc   | 23 ++++++------
 dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake |  2 +-
 dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json     |  2 +-
 ep/build-velox/src/get-velox.sh            |  4 +--
 package/pom.xml                            | 56 +++++++++++++-----------------
 8 files changed, 83 insertions(+), 70 deletions(-)

diff --git a/.github/workflows/delta_spark_ut.yml 
b/.github/workflows/delta_spark_ut.yml
index a1d4d50211..043a65acad 100644
--- a/.github/workflows/delta_spark_ut.yml
+++ b/.github/workflows/delta_spark_ut.yml
@@ -203,29 +203,38 @@ jobs:
     # This workflow always builds its own native lib -- there is no caller to
     # provide one, and the `paths:` filter already decided whether the run 
happens.
     runs-on: ubuntu-22.04
+    container: apache/gluten:vcpkg-almalinux-8-gcc13
     steps:
+      - name: Install CI tools (temporary - until image is rebuilt with 
gh/jq/bison/python3.9)
+        run: |
+          dnf install -y jq bison tzdata
+          dnf module -y install python39 && alternatives --set python3 
/usr/bin/python3.9
+          dnf config-manager --add-repo 
https://cli.github.com/packages/rpm/gh-cli.repo
+          dnf install -y gh --setopt=gpgcheck=0
       - uses: actions/checkout@v7
         with:
           ref: ${{ env.DELTA_CHECKOUT_REF }}
       - name: Get Ccache from Apache Stash
+        id: ccache-stash
         uses: 
apache/infrastructure-actions/stash/restore@69afc125e535c4c41e7f1b7470f583087e0f344b
         with:
           path: '${{ env.CCACHE_DIR }}'
           key: ccache-almalinux8-release-default-${{ 
hashFiles('ep/build-velox/src/**') }}
+      - name: Get Ccache from actions/cache (fallback on Stash miss)
+        if: steps.ccache-stash.outputs.stash-hit != 'true'
+        uses: actions/cache/restore@v4
+        with:
+          path: '${{ env.CCACHE_DIR }}'
+          key: ccache-almalinux8-release-default-${{github.sha}}
+          restore-keys: |
+            ccache-almalinux8-release-default
       - name: Build Gluten native libraries
         run: |
-          docker run -v $GITHUB_WORKSPACE:/work -w /work 
apache/gluten:vcpkg-almalinux-8-gcc13 bash -c "
-            set -e
-            dnf install -y bison tzdata
-            df -a
-            cd /work
-            export CCACHE_DIR=/work/.ccache
-            export CCACHE_MAXSIZE=1G
-            mkdir -p /work/.ccache
-            ccache -sz
-            bash dev/ci-velox-buildstatic-centos-8.sh
-            ccache -s
-          "
+          df -a
+          export CCACHE_MAXSIZE=1G
+          ccache -sz
+          bash dev/ci-velox-buildstatic-centos-8.sh
+          ccache -s
       - name: Upload native build diagnostics
         if: failure()
         uses: actions/upload-artifact@v7
diff --git a/build/mvn b/build/mvn
index 550f1d1435..b66df5c907 100755
--- a/build/mvn
+++ b/build/mvn
@@ -29,18 +29,6 @@ MVN_BIN=""
 
 # Read Maven version from pom.xml if not set
 install_mvn() {
-    # Check for system Maven first
-    local SYSTEM_MVN
-    SYSTEM_MVN="$(command -v mvn)"
-
-    if [ -n "$SYSTEM_MVN" ]; then
-        local MVN_DETECTED_VERSION
-        MVN_DETECTED_VERSION="$(mvn --version 2>/dev/null | grep '^Apache 
Maven' | awk '{print $3}')"
-        echo "Using system Maven: $SYSTEM_MVN (version $MVN_DETECTED_VERSION)" 
>&2
-        MVN_BIN="$SYSTEM_MVN"
-        return 0
-    fi
-
     # Get Maven version from pom.xml using grep and sed
     local VERSION
     VERSION=$(grep "<maven.version>" "${GLUTEN_HOME}/pom.xml" | head -n1 | \
@@ -51,6 +39,21 @@ install_mvn() {
         exit 1
     fi
 
+    # Use system Maven only if it matches the required version
+    local SYSTEM_MVN
+    SYSTEM_MVN="$(command -v mvn)"
+
+    if [ -n "$SYSTEM_MVN" ]; then
+        local MVN_DETECTED_VERSION
+        MVN_DETECTED_VERSION="$(mvn --version 2>/dev/null | grep '^Apache 
Maven' | awk '{print $3}')"
+        if [ "$MVN_DETECTED_VERSION" = "$VERSION" ]; then
+            echo "Using system Maven: $SYSTEM_MVN (version 
$MVN_DETECTED_VERSION)" >&2
+            MVN_BIN="$SYSTEM_MVN"
+            return 0
+        fi
+        echo "System Maven $SYSTEM_MVN (version $MVN_DETECTED_VERSION) does 
not match required version $VERSION" >&2
+    fi
+
     local MVN_LOCAL_BIN="${MVN_DOWNLOAD_DIR}/apache-maven-${VERSION}/bin/mvn"
 
     if [ ! -f "${MVN_LOCAL_BIN}" ]; then
diff --git a/cpp/velox/CMakeLists.txt b/cpp/velox/CMakeLists.txt
index 550b1c92bf..71bb0f9a60 100644
--- a/cpp/velox/CMakeLists.txt
+++ b/cpp/velox/CMakeLists.txt
@@ -383,6 +383,12 @@ target_link_libraries(velox PUBLIC 
${GLUTEN_ROARING_LINK_LIBRARY})
 find_re2()
 target_link_libraries(velox PUBLIC ${RE2_LIBRARY})
 
+if(ENABLE_GLUTEN_VCPKG)
+  # FBThrift -> mvfst -> fizz -> OpenSSL; with VCPKG_DYNAMIC_OPENSSL=ON vcpkg
+  # only provides libssl.so/libcrypto.so, so resolve it before forcing ".a".
+  find_package(OpenSSL REQUIRED)
+endif()
+
 set(CMAKE_FIND_LIBRARY_SUFFIXES_BCK ${CMAKE_FIND_LIBRARY_SUFFIXES})
 set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
 
diff --git a/cpp/velox/utils/GpuBufferBatchResizer.cc 
b/cpp/velox/utils/GpuBufferBatchResizer.cc
index ea7b947c07..5f56ba80e3 100644
--- a/cpp/velox/utils/GpuBufferBatchResizer.cc
+++ b/cpp/velox/utils/GpuBufferBatchResizer.cc
@@ -25,6 +25,8 @@
 
 #include <arrow/buffer.h>
 
+#include <algorithm>
+
 #include <cuda_runtime.h>
 #include <cudf/column/column.hpp>
 #include <cudf/column/column_factories.hpp>
@@ -48,14 +50,14 @@ struct DispatchColumn {
   const int32_t numRows;
   int32_t bufferIdx = 0;
 
-  std::unique_ptr<rmm::device_buffer> getMaskBuffer(const 
std::shared_ptr<arrow::Buffer>& buffer) {
+  cuda::device_buffer<std::byte> getMaskBuffer(const 
std::shared_ptr<arrow::Buffer>& buffer) {
     if (buffer == nullptr || buffer->size() == 0) {
-      return std::make_unique<rmm::device_buffer>(0, stream, mr);
+      return cudf::create_null_mask(0, cudf::mask_state::UNALLOCATED, stream, 
mr);
     }
 
-    auto mask = std::make_unique<rmm::device_buffer>(buffer->size(), stream, 
mr);
-    CUDF_CUDA_TRY(
-        cudaMemcpyAsync(mask->data(), buffer->data(), buffer->size(), 
cudaMemcpyHostToDevice, stream.value()));
+    auto mask = cudf::create_null_mask(numRows, 
cudf::mask_state::UNINITIALIZED, stream, mr);
+    auto copySize = std::min(static_cast<size_t>(buffer->size()), mask.size());
+    CUDF_CUDA_TRY(cudaMemcpyAsync(mask.data(), buffer->data(), copySize, 
cudaMemcpyHostToDevice, stream.value()));
     return mask;
   }
 
@@ -78,8 +80,8 @@ struct DispatchColumn {
     cudf::data_type cudfType{typeId};
     size_t nullCount = nulls == nullptr || nulls->size() == 0
         ? 0
-        : cudf::null_count(static_cast<const 
cudf::bitmask_type*>(nullBuf->data()), 0, numRows, stream);
-    return std::make_unique<cudf::column>(cudfType, numRows, 
std::move(dataBuf), std::move(*nullBuf), nullCount);
+        : cudf::null_count(reinterpret_cast<const 
cudf::bitmask_type*>(nullBuf.data()), 0, numRows, stream);
+    return std::make_unique<cudf::column>(cudfType, numRows, 
std::move(dataBuf), std::move(nullBuf), nullCount);
   }
 
   /// We can optimize it in shuffle writer side, returns the offset buffer 
instead of length buffer.
@@ -93,7 +95,7 @@ struct DispatchColumn {
         cudaMemcpyAsync(offsetBuf.data(), offsets->data(), offsets->size(), 
cudaMemcpyHostToDevice, stream.value()));
 
     // --- 3. Empty null mask (no nulls in offset column) ---
-    rmm::device_buffer nullBuf(0, stream, mr);
+    auto nullBuf = cudf::create_null_mask(0, cudf::mask_state::UNALLOCATED, 
stream, mr);
 
     // --- 4. Create cudf::column ---
     return std::make_unique<cudf::column>(
@@ -118,15 +120,14 @@ struct DispatchColumn {
     // === Step 3: create cudf::column ===
     size_t nullCount = nulls == nullptr || nulls->size() == 0
         ? 0
-        : cudf::null_count(static_cast<const 
cudf::bitmask_type*>(mask->data()), 0, numRows, stream);
+        : cudf::null_count(reinterpret_cast<const 
cudf::bitmask_type*>(mask.data()), 0, numRows, stream);
 
     auto offsetColumn = getOffsetsColumn(offsets);
 
     rmm::device_buffer chars(valueBuffer->size(), stream, mr);
     CUDF_CUDA_TRY(cudaMemcpyAsync(
         chars.data(), valueBuffer->data_as<uint8_t>(), chars.size(), 
cudaMemcpyDefault, stream.value()));
-    return cudf::make_strings_column(
-        numRows, std::move(offsetColumn), std::move(chars), nullCount, 
std::move(*mask.release()));
+    return cudf::make_strings_column(numRows, std::move(offsetColumn), 
std::move(chars), nullCount, std::move(mask));
   }
 };
 
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake 
b/dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake
index 3ec3854b0c..847fca8f77 100644
--- a/dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake
+++ b/dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake
@@ -4,7 +4,7 @@ vcpkg_from_github(
     OUT_SOURCE_PATH SOURCE_PATH
     REPO aws/aws-sdk-cpp
     REF "${VERSION}"
-    SHA512 
aee9e7e733f4d54d58dc28b59374cb1457acde8634fc3319a22865ccece4e46f34ef96c0778a9ae3b6b1738cad71429a164913b1470de4dc32954a7c7bd04ff0
+    SHA512 
321993dee4bc4b34c5e2dda5c646f8ca190a15b850893ee49b88d32c5178c20b4210d821c8a6c7180f6d3a910c9a02de7093e1af48b9fbcd984210446ffb8ede
     PATCHES
         fix-aws-root.patch
         lock-curl-http-and-tls-settings.patch
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json 
b/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json
index c8bd95b5f3..93f56f82b6 100644
--- a/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json
+++ b/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json
@@ -1,7 +1,7 @@
 {
   "$note": "Automatically generated by generateFeatures.ps1",
   "name": "aws-sdk-cpp",
-  "version": "1.11.654",
+  "version": "1.11.806",
   "port-version": 1,
   "description": "AWS SDK for C++",
   "homepage": "https://github.com/aws/aws-sdk-cpp";,
diff --git a/ep/build-velox/src/get-velox.sh b/ep/build-velox/src/get-velox.sh
index e1b63b0103..256f341ab1 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_10_05
-VELOX_ENHANCED_BRANCH=ibm-2026_10_05
+VELOX_BRANCH=dft-2026_10_06
+VELOX_ENHANCED_BRANCH=ibm-2026_10_06
 VELOX_HOME=""
 RUN_SETUP_SCRIPT=ON
 ENABLE_ENHANCED_FEATURES=OFF
diff --git a/package/pom.xml b/package/pom.xml
index bb2f7003d0..09c1d5fa13 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -194,6 +194,31 @@
               </arguments>
             </configuration>
           </execution>
+          <execution>
+            <!--
+              Verify that the bundled Arrow C-Data classes have public method
+              signatures referencing the unshaded Apache Arrow API
+              (org.apache.arrow.memory.*, org.apache.arrow.vector.*) and not
+              the gluten-shaded copies. Catches a regression where shading
+              relocates classes that the unshaded org.apache.arrow.c.* API
+              transitively depends on, producing a bundle whose public Arrow
+              C-Data API is incompatible with vanilla Apache Arrow callers
+              (gluten#12225).
+            -->
+            <id>verify-arrow-c-shading</id>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <phase>verify</phase>
+            <configuration>
+              
<executable>${project.basedir}/../dev/check-arrow-c-shading.sh</executable>
+              <arguments>
+                
<argument>${project.build.directory}/${project.build.finalName}.jar</argument>
+                <argument>${gluten.shade.packageName}</argument>
+                <argument>${arrow.deps.scope}</argument>
+              </arguments>
+            </configuration>
+          </execution>
         </executions>
       </plugin>
       <plugin>
@@ -302,37 +327,6 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <!--
-              Verify that the bundled Arrow C-Data classes have public method
-              signatures referencing the unshaded Apache Arrow API
-              (org.apache.arrow.memory.*, org.apache.arrow.vector.*) and not
-              the gluten-shaded copies. Catches a regression where shading
-              relocates classes that the unshaded org.apache.arrow.c.* API
-              transitively depends on, producing a bundle whose public Arrow
-              C-Data API is incompatible with vanilla Apache Arrow callers
-              (gluten#12225).
-            -->
-            <id>verify-arrow-c-shading</id>
-            <goals>
-              <goal>exec</goal>
-            </goals>
-            <phase>verify</phase>
-            <configuration>
-              
<executable>${project.basedir}/../dev/check-arrow-c-shading.sh</executable>
-              <arguments>
-                
<argument>${project.build.directory}/${project.build.finalName}.jar</argument>
-                <argument>${gluten.shade.packageName}</argument>
-                <argument>${arrow.deps.scope}</argument>
-              </arguments>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to