On Mon, Jul 29, 2019 at 10:25 AM Antoine Pitrou <anto...@python.org> wrote:
>
>
> Le 26/07/2019 à 07:27, Micah Kornfield a écrit :
> > I started PR https://github.com/apache/arrow/pull/4951 to capture the
> > proposed change.
> >
> > I would like to verify that with this change all alignment issues are
> > solved.
> >
> > It seems like there is mostly consensus on having another minor release to
> > get this resolved.
>
> You mean 0.15.0, right?
>
> > I think the open questions I have:
> > 1.  Do we want to provide backwards compatibility for writers?
>
> IMHO, yes.  How many APIs would we have to add a flag to?
>

To reduce the burden of maintaining such flags I would suggest
introducing an IpcOptions struct in C++ to APIs that can produce
messages. There are some other kinds of IPC configuration that might
be useful in the future, such as switching between 8-byte (current)
and 64-byte padding.

> Or do we need a more general "provide_compatibility_with_version" option
> on writers, for future format changes?
>
> > 2.  Similar to the file format, should there be some leading "magic"
> > indicator in the stream format to indicate a version, so we can do
> > something a little less ugly if we encounter more issues?
>
> At least a version number.  Perhaps also a magic number, I don't know.
>

We have a version number in the metadata already
https://github.com/apache/arrow/blob/master/format/Schema.fbs#L22. I
don't think we need to add other signaling beyond the 0xFFFFFFFF
(stream continues / non-null message) / 0x00000000 (stream end / null
message) marker at the beginning of the IPC payload

Unless you envision a situation where the metadata cannot be obtained.
I would hope that this can never occur.

> Regards
>
> Antoine.

Reply via email to