diff --git a/java/vector/src/main/codegen/templates/NullableValueVectors.java b/java/vector/src/main/codegen/templates/NullableValueVectors.java index 4aa0076dc8b..092097bb2bd 100644 --- a/java/vector/src/main/codegen/templates/NullableValueVectors.java +++ b/java/vector/src/main/codegen/templates/NullableValueVectors.java @@ -143,6 +143,7 @@ public void loadFieldBuffers(ArrowFieldNode fieldNode, List ownBuffers org.apache.arrow.vector.BaseDataValueVector.truncateBufferBasedOnSize(ownBuffers, 1, values.offsetVector.getBufferSizeFor( fieldNode.getLength() == 0? 0 : fieldNode.getLength() + 1)); + mutator.lastSet = fieldNode.getLength() - 1; <#else> // fixed width values truncate value vector to size (#1) org.apache.arrow.vector.BaseDataValueVector.truncateBufferBasedOnSize(ownBuffers, 1, values.getBufferSizeFor(fieldNode.getLength())); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java index c2f55767ba6..0a3e728c3f0 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java @@ -115,6 +115,7 @@ public void loadFieldBuffers(ArrowFieldNode fieldNode, List ownBuffers // variable width values: truncate offset vector buffer to size (#1) org.apache.arrow.vector.BaseDataValueVector.truncateBufferBasedOnSize(ownBuffers, 1, offsets.getBufferSizeFor(fieldNode.getLength() + 1)); BaseDataValueVector.load(fieldNode, getFieldInnerVectors(), ownBuffers); + lastSet = fieldNode.getLength(); } @Override