Liya Fan created ARROW-7746:
-------------------------------
Summary: [Java] Support large buffer for IPC
Key: ARROW-7746
URL: https://issues.apache.org/jira/browse/ARROW-7746
Project: Apache Arrow
Issue Type: Task
Components: Java
Reporter: Liya Fan
The motivation is described in
https://github.com/apache/arrow/pull/6323#issuecomment-580137629.
When the size of the ArrowBuf exceeds 2GB, our flighing library does not work
due to integer overflow.
This is because internally, we have used some data structures which are based
on 32-bit integers. To resolve the problem, we must revise/replace the data
structures to make them support 64-bit integers.
As a concrete example, we can see that when the server sends data through IPC,
an org.apache.arrow.flight.ArrowMessage object is created, and is wrapped as an
InputStream through the `asInputStream` method. In this method, we use data
stuctures like java.io.ByteArrayOutputStream and io.netty.buffer.ByteBuf, which
are based on 32-bit integers (we can observe that NettyArrowBuf#length and
ByteArrayOutputStream#count are both 32-bit integers).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)