[jira] [Commented] (ARROW-7746) [Java] Support large buffer for Flight
[ https://issues.apache.org/jira/browse/ARROW-7746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17046771#comment-17046771 ] Micah Kornfield commented on ARROW-7746: thanks [~fan_li_ya]. I don't think this Jira will be doable because gRPC has a maximum message size of 2GB. > [Java] Support large buffer for Flight > -- > > Key: ARROW-7746 > URL: https://issues.apache.org/jira/browse/ARROW-7746 > Project: Apache Arrow > Issue Type: Task > Components: Java >Reporter: Liya Fan >Priority: Major > > 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)
[jira] [Commented] (ARROW-7746) [Java] Support large buffer for Flight
[ https://issues.apache.org/jira/browse/ARROW-7746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17046431#comment-17046431 ] Liya Fan commented on ARROW-7746: - It seems the PR for ARROW-7610 is already big enough. To make code reviewing easier, I have opened ARROW-7955 to track the support for file/stream IPC. > [Java] Support large buffer for Flight > -- > > Key: ARROW-7746 > URL: https://issues.apache.org/jira/browse/ARROW-7746 > Project: Apache Arrow > Issue Type: Task > Components: Java >Reporter: Liya Fan >Priority: Major > > 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)