Bryan,

Sorry for the delay. I did a round of review of the API change (high level).

I understand the proposed API changes allows users of the Arrow Java
library to implement Arrow reader that reads Arrow data to on-heap memory
directly. However, my main feedback is
that the proposed API changes introduced a new style of read API - instead
of return the Arrow message and data directly from the read method, there
are new APIs introduced to read the message into a "holder" object. I am a
little concerned about the complexity of maintaining both style APIs. There
is another concern about memory ownership, which I have replied in more
details in the PR - the buffer allocator is moved into the message reader
class itself, instead of being provided by the caller - this could cause
some confusion about memory ownership.

That being said, I feel I am not 100% confident to say +1, +0 or -1 to the
proposed change alone and I request some other Java committer review this
change with me together.

Thank you,
Li

On Mon, Jul 9, 2018 at 11:50 PM, Li Jin <ice.xell...@gmail.com> wrote:

> Bryan,
>
> Sorry I am traveling now but I will try to take to look in the next few
> days.
>
> Li
>
> On Mon, Jul 9, 2018 at 11:16 PM, Bryan Cutler <cutl...@gmail.com> wrote:
>
>> Hi All,
>>
>> I'm proposing some Java API changes to MessageReader, with minor changes
>> to
>> ArrowStreamReader and MessageSerializer, as part of ARROW-2704 [1] and can
>> be seen in the PR [2]. These changes are to improve processing an Arrow
>> stream on a per Message basis.
>>
>> A while ago I introduced the MessageReader interface in anticipation of
>> some future work, but it fell a little short of what I needed. So after
>> tweaking the APIs a bit, it can now allow the user to implement message
>> stream processing without knowing specifics about the stream format and in
>> an optimal way that avoids unnecessary buffer copying. If you have some
>> concerns about these APIs, please discuss in the PR at [2]. If no one
>> objects, it would be great to get these changes in version 0.10.0.
>> Thanks!
>>
>> Bryan
>>
>>
>> [1]: https://issues.apache.org/jira/browse/ARROW-2704
>> [2]: https://github.com/apache/arrow/pull/2139
>>
>
>

Reply via email to