parthchandra commented on PR #968:
URL: https://github.com/apache/parquet-mr/pull/968#issuecomment-1130327546

   > @parthchandra One thing that confuses me a bit is that these buffers have 
only ByteBuffer inside them. There's no actual I/O, so it's not possible to 
block. Do you have subclasses that provide some sort of access to real I/O?
   
   Good point. `MultiBufferInputStream` is constructed using buffers that have 
been filled already. `AsyncMultiBufferInputStream` takes an input stream as a 
parameter in the constructor and performs the IO itself. In 
`ByteBufferInputStream` I added
   ```
     public static ByteBufferInputStream wrapAsync(ExecutorService threadPool, 
SeekableInputStream fileInputStream,
       List<ByteBuffer> buffers) {
       return new AsyncMultiBufferInputStream(threadPool, fileInputStream, 
buffers);
     }
   ``` 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@parquet.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to