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 82644d3ca3 [GLUTEN-6887][VL] Daily Update Velox Version (2026_05_06) 
(#12043)
82644d3ca3 is described below

commit 82644d3ca3f2d93b18b4cfb682656ff3b0111668
Author: Gluten Performance Bot 
<[email protected]>
AuthorDate: Thu May 7 08:35:20 2026 +0100

    [GLUTEN-6887][VL] Daily Update Velox Version (2026_05_06) (#12043)
    
    * [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_05_06)
    
    Upstream Velox's New Commits:
    0323b279d by Matthias Braun, perf: Avoid double lookup when inserting 
not-preset-yet element into set (#17063)
    5dacefa21 by Matthias Braun, perf: avoid temporary std::string construction 
(#17324)
    9037bf6c5 by Matthias Braun, perf: `reserve()` sets upfront to avoid later 
re-allocation/re-hashing (#17376)
    7cd7a4423 by Matthias Braun, perf: `reserve()` vectors upfront to avoid 
unnecessary reallocation (#17310)
    138fa8b5f by Matthias Braun, perf: `reserve()` vector upfront to avoid 
unnecessary reallocation (#17309)
    2ecb5e231 by Matthias Braun, perf: Use std::string_view instead of 
std::string reference (#17233)
    a811dbdff by Pratik Pugalia, build: Surface and fix MONO=OFF link gaps 
(#17387)
    935c2556d by Apurva Kumar, fix(iceberg): Augment scanSpec for 
equality-delete columns not in projection (#17287)
    76a49e69b by Peter Enescu, fix: Handle NullIfTypedExpr in expression 
optimizer (#17378)
    c60d3bc93 by Henry Edwin Dikeman, fix: HashAggregation with preGroupedKeys 
drops distinct rows on batch boundaries (#17264)
    0ca6c37a8 by Henry Edwin Dikeman, fix(filter): Avoid int64 overflow in 
combineRangesAndNegatedValues (#17385)
    6e26e2253 by Suryadev Sahadevan Rajesh, fix: Remove fmt/format.h from 
ConfigProperty.h (#17311)
    9bf04fe17 by Zac Wen, feat: Add runtime stats for index lookup join (#17286)
    6b2122599 by Xiaoxuan Meng, feat: Add separate data and metadata 
IoStatistics to ReaderOptions (#17395)
    3d33d04f6 by Peter Enescu, docs: Add FlatMapVector blog post (#17386)
    e665d55bc by Simon Eves, feat(cudf): Add GPU "and" and "or" (#16913)
    
    Signed-off-by: glutenperfbot <[email protected]>
    
    * chore: retrigger Velox CI for PR 12043
    
    Signed-off-by: Mohammad Linjawi <[email protected]>
    
    * chore: retrigger Velox CI after tag update
    
    Signed-off-by: Mohammad Linjawi <[email protected]>
    
    * [CORE][UI] Honor disabled Gluten for fallback events
    
    ---------
    
    Signed-off-by: glutenperfbot <[email protected]>
    Signed-off-by: Mohammad Linjawi <[email protected]>
    Co-authored-by: glutenperfbot <[email protected]>
    Co-authored-by: Mohammad Linjawi <[email protected]>
---
 ep/build-velox/src/get-velox.sh                    |  4 +--
 .../execution/GlutenQueryExecutionListener.scala   | 41 ++++++++++++++++++----
 2 files changed, 36 insertions(+), 9 deletions(-)

diff --git a/ep/build-velox/src/get-velox.sh b/ep/build-velox/src/get-velox.sh
index b42d7e0d81..4d6eccdb34 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_05_02
-VELOX_ENHANCED_BRANCH=ibm-2026_05_02
+VELOX_BRANCH=dft-2026_05_06
+VELOX_ENHANCED_BRANCH=ibm-2026_05_06
 VELOX_HOME=""
 RUN_SETUP_SCRIPT=ON
 ENABLE_ENHANCED_FEATURES=OFF
diff --git 
a/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenQueryExecutionListener.scala
 
b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenQueryExecutionListener.scala
index d3b8d14c0e..30aac6a8f3 100644
--- 
a/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenQueryExecutionListener.scala
+++ 
b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenQueryExecutionListener.scala
@@ -22,19 +22,51 @@ import org.apache.gluten.events.GlutenPlanFallbackEvent
 import org.apache.spark.SparkContext
 import org.apache.spark.internal.Logging
 import org.apache.spark.scheduler.{SparkListener, SparkListenerEvent}
-import org.apache.spark.sql.execution.ui.{GlutenUIUtils, 
SparkListenerSQLExecutionEnd}
+import org.apache.spark.sql.execution.ui.{GlutenUIUtils, 
SparkListenerSQLExecutionEnd, SparkListenerSQLExecutionStart}
+
+import scala.collection.mutable
 
 /** A SparkListener that generates complete Gluten UI data after query 
execution completes. */
 class GlutenQueryExecutionListener(sc: SparkContext) extends SparkListener 
with Logging {
+  private val executionToGlutenEnabled = mutable.HashMap.empty[Long, Boolean]
 
   override def onOtherEvent(event: SparkListenerEvent): Unit = event match {
+    case e: SparkListenerSQLExecutionStart =>
+      onSQLExecutionStart(e)
     case e: SparkListenerSQLExecutionEnd =>
       onSQLExecutionEnd(e)
     case _ =>
   }
 
+  private def onSQLExecutionStart(event: SparkListenerSQLExecutionStart): Unit 
= {
+    val enabled = event.modifiedConfigs
+      .get(GlutenConfig.GLUTEN_ENABLED.key)
+      .map(_.toBoolean)
+      .getOrElse(
+        sc.getConf
+          .get(
+            GlutenConfig.GLUTEN_ENABLED.key,
+            GlutenConfig.GLUTEN_ENABLED.defaultValueString)
+          .toBoolean)
+    executionToGlutenEnabled.synchronized {
+      executionToGlutenEnabled.put(event.executionId, enabled)
+    }
+  }
+
   private def onSQLExecutionEnd(event: SparkListenerSQLExecutionEnd): Unit = {
     try {
+      val enabledAtStart = executionToGlutenEnabled.synchronized {
+        executionToGlutenEnabled.remove(event.executionId)
+      }.getOrElse {
+        Option(event.qe)
+          .map(
+            _.sparkSession.sessionState.conf
+              .getConfString(
+                GlutenConfig.GLUTEN_ENABLED.key,
+                GlutenConfig.GLUTEN_ENABLED.defaultValueString)
+              .toBoolean)
+          .getOrElse(GlutenConfig.GLUTEN_ENABLED.defaultValue.get)
+      }
       val qe = event.qe
       if (qe == null) {
         // History Server replay or edge case. Rely on per-stage events 
already in event log.
@@ -44,12 +76,7 @@ class GlutenQueryExecutionListener(sc: SparkContext) extends 
SparkListener with
       // Skip posting if Gluten was not involved in this query execution.
       // This can happen when Gluten is disabled via session config (e.g., 
vanilla Spark
       // baseline runs in comparison tests) but the listener is still 
registered globally.
-      // Read directly from qe.sparkSession's conf to avoid thread-local 
SQLConf issues.
-      if (
-        !qe.sparkSession.sessionState.conf.getConfString(
-          GlutenConfig.GLUTEN_ENABLED.key,
-          GlutenConfig.GLUTEN_ENABLED.defaultValueString).toBoolean
-      ) {
+      if (!enabledAtStart) {
         return
       }
 


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

Reply via email to