This is an automated email from the ASF dual-hosted git repository.

ravindra pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new a833444  ARROW-5434: [Memory][Java] Introduce wrappers for backward 
compatibility.
a833444 is described below

commit a833444ae0cba2e507d79a39ad563e4f4572e1f7
Author: Praveen <prav...@dremio.com>
AuthorDate: Wed May 29 18:50:50 2019 +0530

    ARROW-5434: [Memory][Java] Introduce wrappers for backward compatibility.
    
    - Introduce some wrapper methods to reduce amount of client changes.
    - Changes were introduced as part of patch to support arrow buffers on 
random memory.
    
    Author: Praveen <prav...@dremio.com>
    
    Closes #4406 from praveenbingo/ARROW-3191-1 and squashes the following 
commits:
    
    389c1075 <Praveen> Fix review comments and ci.
    fdab3dd7 <Praveen> ARROW-3191:  Introduce wrappers to keep backward 
compatibility.
---
 .../src/main/java/io/netty/buffer/ArrowBuf.java    | 49 +++++++++++++++++++++-
 .../main/java/io/netty/buffer/NettyArrowBuf.java   |  8 +++-
 2 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java 
b/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java
index 2a1746f..c3b34b6 100644
--- a/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java
+++ b/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java
@@ -77,7 +77,7 @@ public final class ArrowBuf implements AutoCloseable {
   private int readerIndex;
   private int writerIndex;
   private final HistoricalLog historicalLog = BaseAllocator.DEBUG ?
-      new HistoricalLog(BaseAllocator.DEBUG_LOG_LENGTH, "ArrowBuf[%d]", id) : 
null;
+          new HistoricalLog(BaseAllocator.DEBUG_LOG_LENGTH, "ArrowBuf[%d]", 
id) : null;
   private volatile int length;
 
   /**
@@ -1204,4 +1204,51 @@ public final class ArrowBuf implements AutoCloseable {
               "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/memory/src/main/java/io/netty/buffer/NettyArrowBuf.java 
b/java/memory/src/main/java/io/netty/buffer/NettyArrowBuf.java
index 766b2b1..3c6bd5e 100644
--- a/java/memory/src/main/java/io/netty/buffer/NettyArrowBuf.java
+++ b/java/memory/src/main/java/io/netty/buffer/NettyArrowBuf.java
@@ -76,6 +76,10 @@ public class NettyArrowBuf extends AbstractByteBuf 
implements AutoCloseable  {
     return this;
   }
 
+  public ArrowBuf arrowBuf() {
+    return arrowBuf;
+  }
+
   @Override
   public ByteBuf retain(final int increment) {
     arrowBuf.getReferenceManager().retain(increment);
@@ -351,12 +355,12 @@ public class NettyArrowBuf extends AbstractByteBuf 
implements AutoCloseable  {
 
   @Override
   public int setBytes(int index, ScatteringByteChannel in, int length) throws 
IOException {
-    throw new UnsupportedOperationException("Operation not supported");
+    return (int) in.read(nioBuffers(index, length));
   }
 
   @Override
   public int setBytes(int index, FileChannel in, long position, int length) 
throws IOException {
-    throw new UnsupportedOperationException("Operation not supported");
+    return (int) in.read(nioBuffers(index, length));
   }
 
   @Override

Reply via email to