Here is the Java implementation https://github.com/apache/arrow/pull/5229
cc @Wes McKinney @emkornfield Thanks, Ji Liu ------------------------------------------------------------------ From:Ji Liu <niki...@aliyun.com.INVALID> Send Time:2019年8月28日(星期三) 17:34 To:emkornfield <emkornfi...@gmail.com>; dev <dev@arrow.apache.org> Cc:Paul Taylor <ptay...@apache.org> Subject:Re: [RESULT] [VOTE] Alter Arrow binary protocol to address 8-byte Flatbuffer alignment requirements (2nd vote) I could take the Java implementation and will take a close watch on this issue in the next few days. Thanks, Ji Liu ------------------------------------------------------------------ From:Micah Kornfield <emkornfi...@gmail.com> Send Time:2019年8月28日(星期三) 17:14 To:dev <dev@arrow.apache.org> Cc:Paul Taylor <ptay...@apache.org> Subject:Re: [RESULT] [VOTE] Alter Arrow binary protocol to address 8-byte Flatbuffer alignment requirements (2nd vote) I should have integration tests with 0.14.1 generated binaries in the next few days. I think the one remaining unassigned piece of work in the Java implementation, i can take that up next if no one else gets to it. On Tue, Aug 27, 2019 at 7:19 PM Wes McKinney <wesmck...@gmail.com> wrote: > Here's the C++ changes > > https://github.com/apache/arrow/pull/5211 > > I'm going to create a integration branch where we can merge each patch > before merging to master > > On Fri, Aug 23, 2019 at 9:03 AM Wes McKinney <wesmck...@gmail.com> wrote: > > > > It isn't implemented in C++ yet but I will try to get a patch up for > > that soon (today maybe). I think we should create a branch where we > > can stack the patches that implement this for each language. > > > > On Fri, Aug 23, 2019 at 4:04 AM Paul Taylor <ptaylor.apa...@gmail.com> > wrote: > > > > > > I'll do the JS updates. Is it safe to validate against the Arrow C++ > > > integration tests? > > > > > > > > > On 8/22/19 7:28 PM, Micah Kornfield wrote: > > > > I created https://issues.apache.org/jira/browse/ARROW-6313 as a > tracking > > > > issue with sub-issues on the development work. So far no-one has > claimed > > > > Java and Javascript tasks. > > > > > > > > Would it make sense to have a separate dev branch for this work? > > > > > > > > Thanks, > > > > Micah > > > > > > > > On Thu, Aug 22, 2019 at 3:24 PM Wes McKinney <wesmck...@gmail.com> > wrote: > > > > > > > >> The vote carries with 4 binding +1 votes and 1 non-binding +1 > > > >> > > > >> I'll merge the specification patch later today and we can begin > > > >> working on implementations so we can get this done for 0.15.0 > > > >> > > > >> On Tue, Aug 20, 2019 at 12:30 PM Bryan Cutler <cutl...@gmail.com> > wrote: > > > >>> +1 (non-binding) > > > >>> > > > >>> On Tue, Aug 20, 2019, 7:43 AM Antoine Pitrou <solip...@pitrou.net> > > > >> wrote: > > > >>>> Sorry, had forgotten to send my vote on this. > > > >>>> > > > >>>> +1 from me. > > > >>>> > > > >>>> Regards > > > >>>> > > > >>>> Antoine. > > > >>>> > > > >>>> > > > >>>> On Wed, 14 Aug 2019 17:42:33 -0500 > > > >>>> Wes McKinney <wesmck...@gmail.com> wrote: > > > >>>>> hi all, > > > >>>>> > > > >>>>> As we've been discussing [1], there is a need to introduce 4 > bytes of > > > >>>>> padding into the preamble of the "encapsulated IPC message" > format to > > > >>>>> ensure that the Flatbuffers metadata payload begins on an 8-byte > > > >>>>> aligned memory offset. The alternative to this would be for Arrow > > > >>>>> implementations where alignment is important (e.g. C or C++) to > copy > > > >>>>> the metadata (which is not always small) into memory when it is > > > >>>>> unaligned. > > > >>>>> > > > >>>>> Micah has proposed to address this by adding a > > > >>>>> 4-byte "continuation" value at the beginning of the payload > > > >>>>> having the value 0xFFFFFFFF. The reason to do it this way is that > > > >>>>> old clients will see an invalid length (what is currently the > > > >>>>> first 4 bytes of the message -- a 32-bit little endian signed > > > >>>>> integer indicating the metadata length) rather than potentially > > > >>>>> crashing on a valid length. We also propose to expand the "end of > > > >>>>> stream" marker used in the stream and file format from 4 to 8 > > > >>>>> bytes. This has the additional effect of aligning the file footer > > > >>>>> defined in File.fbs. > > > >>>>> > > > >>>>> This would be a backwards incompatible protocol change, so older > > > >> Arrow > > > >>>>> libraries would not be able to read these new messages. > Maintaining > > > >>>>> forward compatibility (reading data produced by older libraries) > > > >> would > > > >>>>> be possible as we can reason that a value other than the > continuation > > > >>>>> value was produced by an older library (and then validate the > > > >>>>> Flatbuffer message of course). Arrow implementations could offer > a > > > >>>>> backward compatibility mode for the sake of old readers if they > > > >> desire > > > >>>>> (this may also assist with testing). > > > >>>>> > > > >>>>> Additionally with this vote, we want to formally approve the > change > > > >> to > > > >>>>> the Arrow "file" format to always write the (new 8-byte) > > > >> end-of-stream > > > >>>>> marker, which enables code that processes Arrow streams to safely > > > >> read > > > >>>>> the file's internal messages as though they were a normal stream. > > > >>>>> > > > >>>>> The PR making these changes to the IPC documentation is here > > > >>>>> > > > >>>>> https://github.com/apache/arrow/pull/4951 > > > >>>>> > > > >>>>> Please vote to accept these changes. This vote will be open for > at > > > >>>>> least 72 hours > > > >>>>> > > > >>>>> [ ] +1 Adopt these Arrow protocol changes > > > >>>>> [ ] +0 > > > >>>>> [ ] -1 I disagree because... > > > >>>>> > > > >>>>> Here is my vote: +1 > > > >>>>> > > > >>>>> Thanks, > > > >>>>> Wes > > > >>>>> > > > >>>>> [1]: > > > >> > https://lists.apache.org/thread.html/8440be572c49b7b2ffb76b63e6d935ada9efd9c1c2021369b6d27786@%3Cdev.arrow.apache.org%3E > > > >>>> > > > >>>> > > > >>>> >