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 cee1f3bd8 [GLUTEN-5414] [VL] Support Arrow native memory pool usage 
track (#5550)
cee1f3bd8 is described below

commit cee1f3bd869340c156feb0cdaf0a867f32343d54
Author: Jin Chengcheng <[email protected]>
AuthorDate: Wed May 8 11:35:25 2024 +0800

    [GLUTEN-5414] [VL] Support Arrow native memory pool usage track (#5550)
---
 .../gluten/execution/RowToVeloxColumnarExec.scala  |  2 +-
 .../python/ColumnarArrowEvalPythonExec.scala       |  2 +-
 .../org/apache/gluten/utils/DatasourceUtil.scala   |  2 +-
 .../execution/ColumnarCachedBatchSerializer.scala  |  2 +-
 .../execution/VeloxColumnarWriteFilesExec.scala    |  2 +-
 .../velox/VeloxFormatWriterInjects.scala           |  2 +-
 .../VeloxCelebornColumnarBatchSerializer.scala     |  2 +-
 gluten-data/pom.xml                                | 28 ++++++++
 .../gluten/columnarbatch/ColumnarBatches.java      |  2 +-
 .../alloc}/ArrowBufferAllocators.java              |  2 +-
 .../alloc}/ManagedAllocationListener.java          |  2 +-
 .../memory/arrow/pool/ArrowNativeMemoryPool.java   | 75 ++++++++++++++++++++++
 .../arrow/pool/ArrowReservationListener.java}      | 33 +++++-----
 .../vectorized/ArrowWritableColumnVector.java      |  2 +-
 .../gluten/vectorized/ColumnarBatchInIterator.java |  2 +-
 .../org/apache/gluten/utils/ImplicitClass.scala    |  2 +-
 .../vectorized/ColumnarBatchSerializer.scala       |  2 +-
 .../sql/execution/ColumnarBuildSideRelation.scala  |  2 +-
 .../spark/sql/execution/utils/ExecUtil.scala       |  2 +-
 .../apache/spark/sql/utils/SparkVectorUtil.scala   |  2 +-
 20 files changed, 138 insertions(+), 32 deletions(-)

diff --git 
a/backends-velox/src/main/scala/org/apache/gluten/execution/RowToVeloxColumnarExec.scala
 
b/backends-velox/src/main/scala/org/apache/gluten/execution/RowToVeloxColumnarExec.scala
index 22ca020d1..be1bc64e2 100644
--- 
a/backends-velox/src/main/scala/org/apache/gluten/execution/RowToVeloxColumnarExec.scala
+++ 
b/backends-velox/src/main/scala/org/apache/gluten/execution/RowToVeloxColumnarExec.scala
@@ -20,7 +20,7 @@ import org.apache.gluten.backendsapi.BackendsApiManager
 import org.apache.gluten.columnarbatch.ColumnarBatches
 import org.apache.gluten.exception.GlutenException
 import org.apache.gluten.exec.Runtimes
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 import org.apache.gluten.utils.{ArrowAbiUtil, Iterators}
 import org.apache.gluten.vectorized._
diff --git 
a/backends-velox/src/main/scala/org/apache/gluten/execution/python/ColumnarArrowEvalPythonExec.scala
 
b/backends-velox/src/main/scala/org/apache/gluten/execution/python/ColumnarArrowEvalPythonExec.scala
index f2beef6ca..77ef1c642 100644
--- 
a/backends-velox/src/main/scala/org/apache/gluten/execution/python/ColumnarArrowEvalPythonExec.scala
+++ 
b/backends-velox/src/main/scala/org/apache/gluten/execution/python/ColumnarArrowEvalPythonExec.scala
@@ -18,7 +18,7 @@ package org.apache.spark.api.python
 
 import org.apache.gluten.columnarbatch.ColumnarBatches
 import org.apache.gluten.extension.GlutenPlan
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.utils.Iterators
 import org.apache.gluten.vectorized.ArrowWritableColumnVector
 
diff --git 
a/backends-velox/src/main/scala/org/apache/gluten/utils/DatasourceUtil.scala 
b/backends-velox/src/main/scala/org/apache/gluten/utils/DatasourceUtil.scala
index f61cdb8e9..6150507b4 100644
--- a/backends-velox/src/main/scala/org/apache/gluten/utils/DatasourceUtil.scala
+++ b/backends-velox/src/main/scala/org/apache/gluten/utils/DatasourceUtil.scala
@@ -17,7 +17,7 @@
 package org.apache.gluten.utils
 
 import org.apache.gluten.datasource.DatasourceJniWrapper
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 
 import org.apache.spark.sql.types.StructType
diff --git 
a/backends-velox/src/main/scala/org/apache/spark/sql/execution/ColumnarCachedBatchSerializer.scala
 
b/backends-velox/src/main/scala/org/apache/spark/sql/execution/ColumnarCachedBatchSerializer.scala
index 88678cb5e..7385c53d6 100644
--- 
a/backends-velox/src/main/scala/org/apache/spark/sql/execution/ColumnarCachedBatchSerializer.scala
+++ 
b/backends-velox/src/main/scala/org/apache/spark/sql/execution/ColumnarCachedBatchSerializer.scala
@@ -21,7 +21,7 @@ import org.apache.gluten.backendsapi.BackendsApiManager
 import org.apache.gluten.columnarbatch.ColumnarBatches
 import org.apache.gluten.exec.Runtimes
 import org.apache.gluten.execution.{RowToVeloxColumnarExec, 
VeloxColumnarToRowExec}
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 import org.apache.gluten.utils.{ArrowAbiUtil, Iterators}
 import org.apache.gluten.vectorized.ColumnarBatchSerializerJniWrapper
diff --git 
a/backends-velox/src/main/scala/org/apache/spark/sql/execution/VeloxColumnarWriteFilesExec.scala
 
b/backends-velox/src/main/scala/org/apache/spark/sql/execution/VeloxColumnarWriteFilesExec.scala
index 26d249f90..23dff990c 100644
--- 
a/backends-velox/src/main/scala/org/apache/spark/sql/execution/VeloxColumnarWriteFilesExec.scala
+++ 
b/backends-velox/src/main/scala/org/apache/spark/sql/execution/VeloxColumnarWriteFilesExec.scala
@@ -20,7 +20,7 @@ import org.apache.gluten.backendsapi.BackendsApiManager
 import org.apache.gluten.columnarbatch.ColumnarBatches
 import org.apache.gluten.exception.GlutenException
 import org.apache.gluten.extension.GlutenPlan
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.sql.shims.SparkShimLoader
 
 import org.apache.spark.{Partition, SparkException, TaskContext, 
TaskOutputFileAlreadyExistException}
diff --git 
a/backends-velox/src/main/scala/org/apache/spark/sql/execution/datasources/velox/VeloxFormatWriterInjects.scala
 
b/backends-velox/src/main/scala/org/apache/spark/sql/execution/datasources/velox/VeloxFormatWriterInjects.scala
index 97ebb932a..c358d6372 100644
--- 
a/backends-velox/src/main/scala/org/apache/spark/sql/execution/datasources/velox/VeloxFormatWriterInjects.scala
+++ 
b/backends-velox/src/main/scala/org/apache/spark/sql/execution/datasources/velox/VeloxFormatWriterInjects.scala
@@ -20,7 +20,7 @@ import org.apache.gluten.columnarbatch.ColumnarBatches
 import org.apache.gluten.datasource.DatasourceJniWrapper
 import org.apache.gluten.exception.GlutenException
 import org.apache.gluten.execution.datasource.GlutenRowSplitter
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 import org.apache.gluten.utils.{ArrowAbiUtil, DatasourceUtil}
 
diff --git 
a/gluten-celeborn/velox/src/main/scala/org/apache/spark/shuffle/VeloxCelebornColumnarBatchSerializer.scala
 
b/gluten-celeborn/velox/src/main/scala/org/apache/spark/shuffle/VeloxCelebornColumnarBatchSerializer.scala
index c5bd88748..d72977f59 100644
--- 
a/gluten-celeborn/velox/src/main/scala/org/apache/spark/shuffle/VeloxCelebornColumnarBatchSerializer.scala
+++ 
b/gluten-celeborn/velox/src/main/scala/org/apache/spark/shuffle/VeloxCelebornColumnarBatchSerializer.scala
@@ -18,7 +18,7 @@ package org.apache.spark.shuffle
 
 import org.apache.gluten.GlutenConfig
 import org.apache.gluten.exec.Runtimes
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 import org.apache.gluten.utils.ArrowAbiUtil
 import org.apache.gluten.vectorized._
diff --git a/gluten-data/pom.xml b/gluten-data/pom.xml
index 951f53ee8..db617112f 100644
--- a/gluten-data/pom.xml
+++ b/gluten-data/pom.xml
@@ -137,6 +137,34 @@
       </exclusions>
       <scope>compile</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.arrow</groupId>
+      <artifactId>arrow-dataset</artifactId>
+      <version>${arrow.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>io.netty</groupId>
+          <artifactId>netty-common</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>io.netty</groupId>
+          <artifactId>netty-buffer</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>com.fasterxml.jackson.core</groupId>
+          <artifactId>jackson-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>com.fasterxml.jackson.core</groupId>
+          <artifactId>jackson-annotations</artifactId>
+        </exclusion>
+        <exclusion>
+          <artifactId>protobuf-java</artifactId>
+          <groupId>com.google.protobuf</groupId>
+        </exclusion>
+      </exclusions>
+      <scope>compile</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git 
a/gluten-data/src/main/java/org/apache/gluten/columnarbatch/ColumnarBatches.java
 
b/gluten-data/src/main/java/org/apache/gluten/columnarbatch/ColumnarBatches.java
index 85ef875d6..624428dcb 100644
--- 
a/gluten-data/src/main/java/org/apache/gluten/columnarbatch/ColumnarBatches.java
+++ 
b/gluten-data/src/main/java/org/apache/gluten/columnarbatch/ColumnarBatches.java
@@ -19,7 +19,7 @@ package org.apache.gluten.columnarbatch;
 import org.apache.gluten.exception.GlutenException;
 import org.apache.gluten.exec.Runtime;
 import org.apache.gluten.exec.Runtimes;
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators;
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators;
 import org.apache.gluten.memory.nmm.NativeMemoryManager;
 import org.apache.gluten.utils.ArrowAbiUtil;
 import org.apache.gluten.utils.ArrowUtil;
diff --git 
a/gluten-data/src/main/java/org/apache/gluten/memory/arrowalloc/ArrowBufferAllocators.java
 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/alloc/ArrowBufferAllocators.java
similarity index 98%
rename from 
gluten-data/src/main/java/org/apache/gluten/memory/arrowalloc/ArrowBufferAllocators.java
rename to 
gluten-data/src/main/java/org/apache/gluten/memory/arrow/alloc/ArrowBufferAllocators.java
index fcac26d6e..efee20e48 100644
--- 
a/gluten-data/src/main/java/org/apache/gluten/memory/arrowalloc/ArrowBufferAllocators.java
+++ 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/alloc/ArrowBufferAllocators.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.gluten.memory.arrowalloc;
+package org.apache.gluten.memory.arrow.alloc;
 
 import org.apache.gluten.memory.memtarget.MemoryTargets;
 
diff --git 
a/gluten-data/src/main/java/org/apache/gluten/memory/arrowalloc/ManagedAllocationListener.java
 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/alloc/ManagedAllocationListener.java
similarity index 98%
rename from 
gluten-data/src/main/java/org/apache/gluten/memory/arrowalloc/ManagedAllocationListener.java
rename to 
gluten-data/src/main/java/org/apache/gluten/memory/arrow/alloc/ManagedAllocationListener.java
index ded2af60b..a76c0aabe 100644
--- 
a/gluten-data/src/main/java/org/apache/gluten/memory/arrowalloc/ManagedAllocationListener.java
+++ 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/alloc/ManagedAllocationListener.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.gluten.memory.arrowalloc;
+package org.apache.gluten.memory.arrow.alloc;
 
 import org.apache.gluten.GlutenConfig;
 import org.apache.gluten.memory.SimpleMemoryUsageRecorder;
diff --git 
a/gluten-data/src/main/java/org/apache/gluten/memory/arrow/pool/ArrowNativeMemoryPool.java
 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/pool/ArrowNativeMemoryPool.java
new file mode 100644
index 000000000..04a6e0002
--- /dev/null
+++ 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/pool/ArrowNativeMemoryPool.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.gluten.memory.arrow.pool;
+
+import org.apache.arrow.dataset.jni.NativeMemoryPool;
+import org.apache.spark.util.TaskResource;
+import org.apache.spark.util.TaskResources;
+import org.apache.spark.util.Utils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ArrowNativeMemoryPool implements TaskResource {
+  private static final Logger LOGGER = 
LoggerFactory.getLogger(ArrowNativeMemoryPool.class);
+
+  private final NativeMemoryPool arrowPool;
+  private final ArrowReservationListener listener;
+
+  public ArrowNativeMemoryPool() {
+    listener = new ArrowReservationListener(TaskResources.getSharedUsage());
+    arrowPool = NativeMemoryPool.createListenable(listener);
+  }
+
+  public static NativeMemoryPool arrowPool(String name) {
+    if (!TaskResources.inSparkTask()) {
+      throw new IllegalStateException("This method must be called in a Spark 
task.");
+    }
+    String id = "ArrowNativeMemoryPool:" + name;
+    return TaskResources.addResourceIfNotRegistered(id, () -> 
createArrowNativeMemoryPool(name))
+        .getArrowPool();
+  }
+
+  private static ArrowNativeMemoryPool createArrowNativeMemoryPool(String 
name) {
+    return new ArrowNativeMemoryPool();
+  }
+
+  @Override
+  public void release() throws Exception {
+    if (arrowPool.getBytesAllocated() != 0) {
+      LOGGER.warn(
+          String.format(
+              "Arrow pool still reserved non-zero bytes, "
+                  + "which may cause memory leak, size: %s. ",
+              Utils.bytesToString(arrowPool.getBytesAllocated())));
+    }
+    arrowPool.close();
+  }
+
+  @Override
+  public int priority() {
+    return 0;
+  }
+
+  @Override
+  public String resourceName() {
+    return "arrow_mem";
+  }
+
+  public NativeMemoryPool getArrowPool() {
+    return arrowPool;
+  }
+}
diff --git 
a/gluten-data/src/main/scala/org/apache/gluten/utils/ImplicitClass.scala 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/pool/ArrowReservationListener.java
similarity index 56%
copy from gluten-data/src/main/scala/org/apache/gluten/utils/ImplicitClass.scala
copy to 
gluten-data/src/main/java/org/apache/gluten/memory/arrow/pool/ArrowReservationListener.java
index 1a5ae4277..2e1a25445 100644
--- a/gluten-data/src/main/scala/org/apache/gluten/utils/ImplicitClass.scala
+++ 
b/gluten-data/src/main/java/org/apache/gluten/memory/arrow/pool/ArrowReservationListener.java
@@ -14,25 +14,28 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.gluten.utils
+package org.apache.gluten.memory.arrow.pool;
 
-import org.apache.gluten.columnarbatch.ColumnarBatches
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
-import org.apache.gluten.vectorized.ArrowWritableColumnVector
+import org.apache.gluten.memory.SimpleMemoryUsageRecorder;
 
-import org.apache.spark.sql.vectorized.ColumnarBatch
+public class ArrowReservationListener implements 
org.apache.arrow.dataset.jni.ReservationListener {
+  private final SimpleMemoryUsageRecorder sharedUsage; // shared task metrics
 
-object ImplicitClass {
+  public ArrowReservationListener(SimpleMemoryUsageRecorder recorder) {
+    this.sharedUsage = recorder;
+  }
+
+  @Override
+  public void reserve(long size) {
+    synchronized (this) {
+      sharedUsage.inc(size);
+    }
+  }
 
-  implicit class ArrowColumnarBatchRetainer(val cb: ColumnarBatch) {
-    def retain(): Unit = {
-      (0 until cb.numCols).toList.foreach(
-        i =>
-          ColumnarBatches
-            .ensureLoaded(ArrowBufferAllocators.contextInstance(), cb)
-            .column(i)
-            .asInstanceOf[ArrowWritableColumnVector]
-            .retain())
+  @Override
+  public void unreserve(long size) {
+    synchronized (this) {
+      sharedUsage.inc(-size);
     }
   }
 }
diff --git 
a/gluten-data/src/main/java/org/apache/gluten/vectorized/ArrowWritableColumnVector.java
 
b/gluten-data/src/main/java/org/apache/gluten/vectorized/ArrowWritableColumnVector.java
index 4603cbc41..dfd570deb 100644
--- 
a/gluten-data/src/main/java/org/apache/gluten/vectorized/ArrowWritableColumnVector.java
+++ 
b/gluten-data/src/main/java/org/apache/gluten/vectorized/ArrowWritableColumnVector.java
@@ -16,7 +16,7 @@
  */
 package org.apache.gluten.vectorized;
 
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators;
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators;
 
 import org.apache.arrow.memory.BufferAllocator;
 import org.apache.arrow.vector.BigIntVector;
diff --git 
a/gluten-data/src/main/java/org/apache/gluten/vectorized/ColumnarBatchInIterator.java
 
b/gluten-data/src/main/java/org/apache/gluten/vectorized/ColumnarBatchInIterator.java
index 85b24166e..bd89f62a1 100644
--- 
a/gluten-data/src/main/java/org/apache/gluten/vectorized/ColumnarBatchInIterator.java
+++ 
b/gluten-data/src/main/java/org/apache/gluten/vectorized/ColumnarBatchInIterator.java
@@ -18,7 +18,7 @@ package org.apache.gluten.vectorized;
 
 import org.apache.gluten.columnarbatch.ColumnarBatchJniWrapper;
 import org.apache.gluten.columnarbatch.ColumnarBatches;
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators;
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators;
 
 import org.apache.spark.sql.vectorized.ColumnarBatch;
 
diff --git 
a/gluten-data/src/main/scala/org/apache/gluten/utils/ImplicitClass.scala 
b/gluten-data/src/main/scala/org/apache/gluten/utils/ImplicitClass.scala
index 1a5ae4277..4ffb3ab5c 100644
--- a/gluten-data/src/main/scala/org/apache/gluten/utils/ImplicitClass.scala
+++ b/gluten-data/src/main/scala/org/apache/gluten/utils/ImplicitClass.scala
@@ -17,7 +17,7 @@
 package org.apache.gluten.utils
 
 import org.apache.gluten.columnarbatch.ColumnarBatches
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.vectorized.ArrowWritableColumnVector
 
 import org.apache.spark.sql.vectorized.ColumnarBatch
diff --git 
a/gluten-data/src/main/scala/org/apache/gluten/vectorized/ColumnarBatchSerializer.scala
 
b/gluten-data/src/main/scala/org/apache/gluten/vectorized/ColumnarBatchSerializer.scala
index 9fbdb3637..e632700e3 100644
--- 
a/gluten-data/src/main/scala/org/apache/gluten/vectorized/ColumnarBatchSerializer.scala
+++ 
b/gluten-data/src/main/scala/org/apache/gluten/vectorized/ColumnarBatchSerializer.scala
@@ -18,7 +18,7 @@ package org.apache.gluten.vectorized
 
 import org.apache.gluten.GlutenConfig
 import org.apache.gluten.exec.Runtimes
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 import org.apache.gluten.utils.ArrowAbiUtil
 
diff --git 
a/gluten-data/src/main/scala/org/apache/spark/sql/execution/ColumnarBuildSideRelation.scala
 
b/gluten-data/src/main/scala/org/apache/spark/sql/execution/ColumnarBuildSideRelation.scala
index ac94bfa89..9d9f5ab17 100644
--- 
a/gluten-data/src/main/scala/org/apache/spark/sql/execution/ColumnarBuildSideRelation.scala
+++ 
b/gluten-data/src/main/scala/org/apache/spark/sql/execution/ColumnarBuildSideRelation.scala
@@ -18,7 +18,7 @@ package org.apache.spark.sql.execution
 
 import org.apache.gluten.columnarbatch.ColumnarBatches
 import org.apache.gluten.exec.Runtimes
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 import org.apache.gluten.sql.shims.SparkShimLoader
 import org.apache.gluten.utils.{ArrowAbiUtil, Iterators}
diff --git 
a/gluten-data/src/main/scala/org/apache/spark/sql/execution/utils/ExecUtil.scala
 
b/gluten-data/src/main/scala/org/apache/spark/sql/execution/utils/ExecUtil.scala
index fd0cf45c8..d3e7b4096 100644
--- 
a/gluten-data/src/main/scala/org/apache/spark/sql/execution/utils/ExecUtil.scala
+++ 
b/gluten-data/src/main/scala/org/apache/spark/sql/execution/utils/ExecUtil.scala
@@ -17,7 +17,7 @@
 package org.apache.spark.sql.execution.utils
 
 import org.apache.gluten.columnarbatch.ColumnarBatches
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.memory.nmm.NativeMemoryManagers
 import org.apache.gluten.utils.Iterators
 import org.apache.gluten.vectorized.{ArrowWritableColumnVector, 
NativeColumnarToRowInfo, NativeColumnarToRowJniWrapper, NativePartitioning}
diff --git 
a/gluten-data/src/main/scala/org/apache/spark/sql/utils/SparkVectorUtil.scala 
b/gluten-data/src/main/scala/org/apache/spark/sql/utils/SparkVectorUtil.scala
index 208afd294..3e86be79a 100644
--- 
a/gluten-data/src/main/scala/org/apache/spark/sql/utils/SparkVectorUtil.scala
+++ 
b/gluten-data/src/main/scala/org/apache/spark/sql/utils/SparkVectorUtil.scala
@@ -17,7 +17,7 @@
 package org.apache.spark.sql.utils
 
 import org.apache.gluten.columnarbatch.ColumnarBatches
-import org.apache.gluten.memory.arrowalloc.ArrowBufferAllocators
+import org.apache.gluten.memory.arrow.alloc.ArrowBufferAllocators
 import org.apache.gluten.vectorized.ArrowWritableColumnVector
 
 import org.apache.spark.sql.vectorized.ColumnarBatch


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

Reply via email to