From 7ecb4ac34ea45086e96546ec692c581840da8d29 Mon Sep 17 00:00:00 2001 From: liyafan82 Date: Tue, 10 Aug 2021 20:19:51 +0800 Subject: [PATCH 1/2] ARROW-13544 [Java]: Remove APIs that have been deprecated for long (Changes to ArrowBuf) --- .../org/apache/arrow/memory/ArrowBuf.java | 48 ------------------- .../arrow/vector/ipc/JsonFileWriter.java | 2 +- .../arrow/vector/util/DecimalUtilityTest.java | 21 +++++--- 3 files changed, 15 insertions(+), 56 deletions(-) diff --git a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java index ea5e29f7253..42003060565 100644 --- a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java +++ b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java @@ -1194,52 +1194,4 @@ public ArrowBuf reallocIfNeeded(final long size) { "Realloc is only available in the context of operator's UDFs"); } } - - /** - * Following are wrapper methods to keep this backward compatible. - */ - @Deprecated - public void release() { - referenceManager.release(); - } - - @Deprecated - public void release(int decrement) { - referenceManager.release(decrement); - } - - @Deprecated - public void retain() { - referenceManager.retain(); - } - - @Deprecated - public void retain(int increment) { - referenceManager.retain(increment); - } - - @Deprecated - public ArrowBuf clear() { - this.readerIndex = this.writerIndex = 0; - return this; - } - - /** - * Initialize the reader and writer index. - * @param readerIndex index to read from - * @param writerIndex index to write to - * @return this - */ - @Deprecated - public ArrowBuf setIndex(int readerIndex, int writerIndex) { - if (readerIndex >= 0 && readerIndex <= writerIndex && writerIndex <= this.capacity()) { - this.readerIndex = readerIndex; - this.writerIndex = writerIndex; - return this; - } else { - throw new IndexOutOfBoundsException(String.format("readerIndex: %d, writerIndex: %d " + - "(expected:0 <= readerIndex <= writerIndex <= capacity(%d))", readerIndex, writerIndex, this.capacity())); - } - } - } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java index f2854c95c30..69275f13c37 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/ipc/JsonFileWriter.java @@ -231,7 +231,7 @@ private void writeFromVectorIntoJson(Field field, FieldVector vector) throws IOE ArrowBuf vectorBufferTmp = vector.getAllocator().buffer(4); vectorBufferTmp.setInt(0, 0); writeValueToGenerator(bufferType, vectorBufferTmp, null, vector, i); - vectorBufferTmp.release(); + vectorBufferTmp.close(); } else { writeValueToGenerator(bufferType, vectorBuffer, null, vector, i); } diff --git a/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java b/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java index 804092ed94a..94741dbcf6d 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java @@ -41,7 +41,8 @@ public void testSetLongInDecimalArrowBuf() { ) { int [] intValues = new int [] {Integer.MAX_VALUE, Integer.MIN_VALUE, 0}; for (int val : intValues) { - buf.clear(); + buf.readerIndex(0L); + buf.writerIndex(0L); DecimalUtility.writeLongToArrowBuf((long) val, buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -60,7 +61,8 @@ public void testSetByteArrayInDecimalArrowBuf() { ) { int [] intValues = new int [] {Integer.MAX_VALUE, Integer.MIN_VALUE, 0}; for (int val : intValues) { - buf.clear(); + buf.readerIndex(0L); + buf.writerIndex(0L); DecimalUtility.writeByteArrayToArrowBuf(BigInteger.valueOf(val).toByteArray(), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -69,7 +71,8 @@ public void testSetByteArrayInDecimalArrowBuf() { long [] longValues = new long[] {Long.MIN_VALUE, 0 , Long.MAX_VALUE}; for (long val : longValues) { - buf.clear(); + buf.readerIndex(0L); + buf.writerIndex(0L); DecimalUtility.writeByteArrayToArrowBuf(BigInteger.valueOf(val).toByteArray(), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -78,7 +81,8 @@ public void testSetByteArrayInDecimalArrowBuf() { BigInteger [] decimals = new BigInteger[] {MAX_BIG_INT[x], new BigInteger("0"), MIN_BIG_INT[x]}; for (BigInteger val : decimals) { - buf.clear(); + buf.readerIndex(0L); + buf.writerIndex(0L); DecimalUtility.writeByteArrayToArrowBuf(val.toByteArray(), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = new BigDecimal(val); @@ -97,7 +101,8 @@ public void testSetBigDecimalInDecimalArrowBuf() { ) { int [] intValues = new int [] {Integer.MAX_VALUE, Integer.MIN_VALUE, 0}; for (int val : intValues) { - buf.clear(); + buf.readerIndex(0L); + buf.writerIndex(0L); DecimalUtility.writeBigDecimalToArrowBuf(BigDecimal.valueOf(val), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -106,7 +111,8 @@ public void testSetBigDecimalInDecimalArrowBuf() { long [] longValues = new long[] {Long.MIN_VALUE, 0 , Long.MAX_VALUE}; for (long val : longValues) { - buf.clear(); + buf.readerIndex(0L); + buf.writerIndex(0L); DecimalUtility.writeBigDecimalToArrowBuf(BigDecimal.valueOf(val), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -115,7 +121,8 @@ public void testSetBigDecimalInDecimalArrowBuf() { BigInteger [] decimals = new BigInteger[] {MAX_BIG_INT[x], new BigInteger("0"), MIN_BIG_INT[x]}; for (BigInteger val : decimals) { - buf.clear(); + buf.readerIndex(0L); + buf.writerIndex(0L); DecimalUtility.writeBigDecimalToArrowBuf(new BigDecimal(val), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = new BigDecimal(val); From 4ea5ce53bfd9cb1e1e71fec76b29380969968e38 Mon Sep 17 00:00:00 2001 From: liyafan82 Date: Tue, 17 Aug 2021 17:15:34 +0800 Subject: [PATCH 2/2] ARROW-13544 [Java]: Resolve comments --- .../org/apache/arrow/memory/ArrowBuf.java | 5 +++++ .../arrow/vector/util/DecimalUtilityTest.java | 21 +++++++------------ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java index 42003060565..d7827073ea2 100644 --- a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java +++ b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java @@ -1194,4 +1194,9 @@ public ArrowBuf reallocIfNeeded(final long size) { "Realloc is only available in the context of operator's UDFs"); } } + + public ArrowBuf clear() { + this.readerIndex = this.writerIndex = 0; + return this; + } } diff --git a/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java b/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java index 94741dbcf6d..804092ed94a 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/util/DecimalUtilityTest.java @@ -41,8 +41,7 @@ public void testSetLongInDecimalArrowBuf() { ) { int [] intValues = new int [] {Integer.MAX_VALUE, Integer.MIN_VALUE, 0}; for (int val : intValues) { - buf.readerIndex(0L); - buf.writerIndex(0L); + buf.clear(); DecimalUtility.writeLongToArrowBuf((long) val, buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -61,8 +60,7 @@ public void testSetByteArrayInDecimalArrowBuf() { ) { int [] intValues = new int [] {Integer.MAX_VALUE, Integer.MIN_VALUE, 0}; for (int val : intValues) { - buf.readerIndex(0L); - buf.writerIndex(0L); + buf.clear(); DecimalUtility.writeByteArrayToArrowBuf(BigInteger.valueOf(val).toByteArray(), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -71,8 +69,7 @@ public void testSetByteArrayInDecimalArrowBuf() { long [] longValues = new long[] {Long.MIN_VALUE, 0 , Long.MAX_VALUE}; for (long val : longValues) { - buf.readerIndex(0L); - buf.writerIndex(0L); + buf.clear(); DecimalUtility.writeByteArrayToArrowBuf(BigInteger.valueOf(val).toByteArray(), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -81,8 +78,7 @@ public void testSetByteArrayInDecimalArrowBuf() { BigInteger [] decimals = new BigInteger[] {MAX_BIG_INT[x], new BigInteger("0"), MIN_BIG_INT[x]}; for (BigInteger val : decimals) { - buf.readerIndex(0L); - buf.writerIndex(0L); + buf.clear(); DecimalUtility.writeByteArrayToArrowBuf(val.toByteArray(), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = new BigDecimal(val); @@ -101,8 +97,7 @@ public void testSetBigDecimalInDecimalArrowBuf() { ) { int [] intValues = new int [] {Integer.MAX_VALUE, Integer.MIN_VALUE, 0}; for (int val : intValues) { - buf.readerIndex(0L); - buf.writerIndex(0L); + buf.clear(); DecimalUtility.writeBigDecimalToArrowBuf(BigDecimal.valueOf(val), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -111,8 +106,7 @@ public void testSetBigDecimalInDecimalArrowBuf() { long [] longValues = new long[] {Long.MIN_VALUE, 0 , Long.MAX_VALUE}; for (long val : longValues) { - buf.readerIndex(0L); - buf.writerIndex(0L); + buf.clear(); DecimalUtility.writeBigDecimalToArrowBuf(BigDecimal.valueOf(val), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = BigDecimal.valueOf(val); @@ -121,8 +115,7 @@ public void testSetBigDecimalInDecimalArrowBuf() { BigInteger [] decimals = new BigInteger[] {MAX_BIG_INT[x], new BigInteger("0"), MIN_BIG_INT[x]}; for (BigInteger val : decimals) { - buf.readerIndex(0L); - buf.writerIndex(0L); + buf.clear(); DecimalUtility.writeBigDecimalToArrowBuf(new BigDecimal(val), buf, 0, byteLengths[x]); BigDecimal actual = DecimalUtility.getBigDecimalFromArrowBuf(buf, 0, 0, byteLengths[x]); BigDecimal expected = new BigDecimal(val);