arrow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From w...@apache.org
Subject arrow git commit: ARROW-1467: [JAVA] Fix reset() and allocateNew() in Nullable Value Vectors t…
Date Fri, 08 Sep 2017 01:48:30 GMT
Repository: arrow
Updated Branches:
  refs/heads/master b698227e9 -> 6f27a6447


ARROW-1467: [JAVA] Fix reset() and allocateNew() in Nullable Value Vectors t…

cc @jacques-n , @icexelloss , @BryanCutler

Things fixed:

1)

allocateNew() in NullableValueVectors allocates extra memory for the validity vector of fixed-width
vectors. Instead of doing bits.allocateNew(valueCount + 1), we should simply do bits.allocateNew(valueCount).

AFAIK, the only case where we need an additional valueCount is for the offsetVector and we
already do that. Additional valueCount for the validity vector is not needed.

(2)

reset() method should call reset() on the underlying value vector to re-initialize the state
(allocation monitor, reader index etc) and zero out the buffers. Right now we just reset the
validity vector.

Author: siddharth <siddharth@dremio.com>

Closes #1052 from siddharthteotia/ARROW-1467 and squashes the following commits:

ac903884 [siddharth] addressed review comments
09f899af [siddharth] ARROW-1467: Fix reset() and allocateNew() in Nullable Value Vectors template


Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/6f27a644
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/6f27a644
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/6f27a644

Branch: refs/heads/master
Commit: 6f27a6447171353427a129a5ce88dba181bd8af6
Parents: b698227
Author: siddharth <siddharth@dremio.com>
Authored: Thu Sep 7 21:48:25 2017 -0400
Committer: Wes McKinney <wes.mckinney@twosigma.com>
Committed: Thu Sep 7 21:48:25 2017 -0400

----------------------------------------------------------------------
 .../codegen/templates/NullableValueVectors.java | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/arrow/blob/6f27a644/java/vector/src/main/codegen/templates/NullableValueVectors.java
----------------------------------------------------------------------
diff --git a/java/vector/src/main/codegen/templates/NullableValueVectors.java b/java/vector/src/main/codegen/templates/NullableValueVectors.java
index 319c61c..122cd23 100644
--- a/java/vector/src/main/codegen/templates/NullableValueVectors.java
+++ b/java/vector/src/main/codegen/templates/NullableValueVectors.java
@@ -267,6 +267,12 @@ protected final static byte[] emptyByteArray = new byte[]{};
     values.reAlloc();
   }
 
+  public void reset() {
+    bits.zeroVector();
+    mutator.reset();
+    accessor.reset();
+  }
+
   <#if type.major == "VarLen">
   @Override
   public void allocateNew(int totalBytes, int valueCount) {
@@ -282,12 +288,6 @@ protected final static byte[] emptyByteArray = new byte[]{};
     accessor.reset();
   }
 
-  public void reset() {
-    bits.zeroVector();
-    mutator.reset();
-    accessor.reset();
-  }
-
   @Override
   public int getByteCapacity(){
     return values.getByteCapacity();
@@ -303,7 +303,7 @@ protected final static byte[] emptyByteArray = new byte[]{};
   public void allocateNew(int valueCount) {
     try {
       values.allocateNew(valueCount);
-      bits.allocateNew(valueCount+1);
+      bits.allocateNew(valueCount);
     } catch(OutOfMemoryException e) {
       clear();
       throw e;
@@ -313,12 +313,6 @@ protected final static byte[] emptyByteArray = new byte[]{};
     accessor.reset();
   }
 
-  public void reset() {
-    bits.zeroVector();
-    mutator.reset();
-    accessor.reset();
-  }
-
   /**
    * {@inheritDoc}
    */


Mime
View raw message