Re: [RESULT] [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-07-08 Thread Wes McKinney
Hi folks,

This issue is probably the one true "blocker" for the 1.0.0 release.
Ideally, all libraries should emit V5 MetadataVersion by default. How
V4 handled depends on the willingness to implement compatibility code:

* Since V4 is backwards compatible with V5 (except for unions),
libraries can read V4 and either error if they receive unions or
implement compatibility code that allows unions that do not have
top-level nulls (this is what Antoine did on
https://github.com/apache/arrow/pull/7664)
* Libraries (if they wish) may implement an opt-in "V4 compatibility
mode" that permits writing messages that do not utilize any features /
changes in 1.0.0 (e.g. writing unions is not allowed)
* Integration test executables ideally would be extended to allow the
intended metadata version to be set either with a command line
argument or environment variable.

If this work cannot be done, then as a last resort we should make sure
that un-upgraded libraries (the at-risk libraries are Go and
JavaScript since they are part of the integration tests) will
successfully reject V5 data generated by other libraries.

- Wes

On Thu, Jul 2, 2020 at 5:50 PM Wes McKinney  wrote:
>
> The vote carries with 6 binding +1 votes and 2 non-binding +1
>
> On Tue, Jun 30, 2020 at 4:03 PM Sutou Kouhei  wrote:
> >
> > +1 (binding)
> >
> > In 
> >   "[VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 
> > release" on Mon, 29 Jun 2020 16:42:45 -0500,
> >   Wes McKinney  wrote:
> >
> > > Hi,
> > >
> > > As discussed on the mailing list [1], in order to demarcate the
> > > pre-1.0.0 and post-1.0.0 worlds, and to allow the
> > > forward-compatibility-protection changes we are making to actually
> > > work (i.e. so that libraries can recognize that they have received
> > > data with a feature that they do not support), I have proposed to
> > > increment the MetadataVersion from V4 to V5. Additionally, if the
> > > union validity bitmap changes are accepted, the MetadataVersion could
> > > be used to control whether unions are permitted to be serialized or
> > > not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> > > permitted).
> > >
> > > Since there have been no backward incompatible changes to the Arrow
> > > format since 0.8.0, this would be no different, and (aside from the
> > > union issue) libraries supporting V5 are expected to accept BOTH V4
> > > and V5 so that backward compatibility is not broken, and any
> > > serialized data from prior versions of the Arrow libraries (0.8.0
> > > onward) will continue to be readable.
> > >
> > > Implementations are recommended, but not required, to provide an
> > > optional "V4 compatibility mode" for forward compatibility
> > > (serializing data from >= 1.0.0 that needs to be readable by older
> > > libraries, e.g. Spark deployments stuck on an older Java-Arrow
> > > version). In this compatibility mode, non-forward-compatible features
> > > added in 1.0.0 and beyond would not be permitted.
> > >
> > > A PR with the changes to Schema.fbs (possibly subject to some
> > > clarifying changes to the comments) is at [2].
> > >
> > > Once the PR is merged, it will be necessary for implementations to be
> > > updated and tested as appropriate at minimum to validate that backward
> > > compatibility is preserved (i.e. V4 IPC payloads are still readable --
> > > we have some in apache/arrow-testing and can add more as needed).
> > >
> > > The vote will be open for at least 72 hours.
> > >
> > > [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> > > implications above
> > > [ ] +0
> > > [ ] -1 Do not accept because...
> > >
> > > [1]: 
> > > https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> > > [2]: https://github.com/apache/arrow/pull/7566


[RESULT] [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-07-02 Thread Wes McKinney
The vote carries with 6 binding +1 votes and 2 non-binding +1

On Tue, Jun 30, 2020 at 4:03 PM Sutou Kouhei  wrote:
>
> +1 (binding)
>
> In 
>   "[VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 
> release" on Mon, 29 Jun 2020 16:42:45 -0500,
>   Wes McKinney  wrote:
>
> > Hi,
> >
> > As discussed on the mailing list [1], in order to demarcate the
> > pre-1.0.0 and post-1.0.0 worlds, and to allow the
> > forward-compatibility-protection changes we are making to actually
> > work (i.e. so that libraries can recognize that they have received
> > data with a feature that they do not support), I have proposed to
> > increment the MetadataVersion from V4 to V5. Additionally, if the
> > union validity bitmap changes are accepted, the MetadataVersion could
> > be used to control whether unions are permitted to be serialized or
> > not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> > permitted).
> >
> > Since there have been no backward incompatible changes to the Arrow
> > format since 0.8.0, this would be no different, and (aside from the
> > union issue) libraries supporting V5 are expected to accept BOTH V4
> > and V5 so that backward compatibility is not broken, and any
> > serialized data from prior versions of the Arrow libraries (0.8.0
> > onward) will continue to be readable.
> >
> > Implementations are recommended, but not required, to provide an
> > optional "V4 compatibility mode" for forward compatibility
> > (serializing data from >= 1.0.0 that needs to be readable by older
> > libraries, e.g. Spark deployments stuck on an older Java-Arrow
> > version). In this compatibility mode, non-forward-compatible features
> > added in 1.0.0 and beyond would not be permitted.
> >
> > A PR with the changes to Schema.fbs (possibly subject to some
> > clarifying changes to the comments) is at [2].
> >
> > Once the PR is merged, it will be necessary for implementations to be
> > updated and tested as appropriate at minimum to validate that backward
> > compatibility is preserved (i.e. V4 IPC payloads are still readable --
> > we have some in apache/arrow-testing and can add more as needed).
> >
> > The vote will be open for at least 72 hours.
> >
> > [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> > implications above
> > [ ] +0
> > [ ] -1 Do not accept because...
> >
> > [1]: 
> > https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> > [2]: https://github.com/apache/arrow/pull/7566


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-30 Thread Sutou Kouhei
+1 (binding)

In 
  "[VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 
release" on Mon, 29 Jun 2020 16:42:45 -0500,
  Wes McKinney  wrote:

> Hi,
> 
> As discussed on the mailing list [1], in order to demarcate the
> pre-1.0.0 and post-1.0.0 worlds, and to allow the
> forward-compatibility-protection changes we are making to actually
> work (i.e. so that libraries can recognize that they have received
> data with a feature that they do not support), I have proposed to
> increment the MetadataVersion from V4 to V5. Additionally, if the
> union validity bitmap changes are accepted, the MetadataVersion could
> be used to control whether unions are permitted to be serialized or
> not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> permitted).
> 
> Since there have been no backward incompatible changes to the Arrow
> format since 0.8.0, this would be no different, and (aside from the
> union issue) libraries supporting V5 are expected to accept BOTH V4
> and V5 so that backward compatibility is not broken, and any
> serialized data from prior versions of the Arrow libraries (0.8.0
> onward) will continue to be readable.
> 
> Implementations are recommended, but not required, to provide an
> optional "V4 compatibility mode" for forward compatibility
> (serializing data from >= 1.0.0 that needs to be readable by older
> libraries, e.g. Spark deployments stuck on an older Java-Arrow
> version). In this compatibility mode, non-forward-compatible features
> added in 1.0.0 and beyond would not be permitted.
> 
> A PR with the changes to Schema.fbs (possibly subject to some
> clarifying changes to the comments) is at [2].
> 
> Once the PR is merged, it will be necessary for implementations to be
> updated and tested as appropriate at minimum to validate that backward
> compatibility is preserved (i.e. V4 IPC payloads are still readable --
> we have some in apache/arrow-testing and can add more as needed).
> 
> The vote will be open for at least 72 hours.
> 
> [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> implications above
> [ ] +0
> [ ] -1 Do not accept because...
> 
> [1]: 
> https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> [2]: https://github.com/apache/arrow/pull/7566


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-30 Thread Neal Richardson
+1 (binding)

On Tue, Jun 30, 2020 at 2:53 AM Antoine Pitrou  wrote:

> +1 (binding)
>
>
> Le 29/06/2020 à 23:42, Wes McKinney a écrit :
> > Hi,
> >
> > As discussed on the mailing list [1], in order to demarcate the
> > pre-1.0.0 and post-1.0.0 worlds, and to allow the
> > forward-compatibility-protection changes we are making to actually
> > work (i.e. so that libraries can recognize that they have received
> > data with a feature that they do not support), I have proposed to
> > increment the MetadataVersion from V4 to V5. Additionally, if the
> > union validity bitmap changes are accepted, the MetadataVersion could
> > be used to control whether unions are permitted to be serialized or
> > not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> > permitted).
> >
> > Since there have been no backward incompatible changes to the Arrow
> > format since 0.8.0, this would be no different, and (aside from the
> > union issue) libraries supporting V5 are expected to accept BOTH V4
> > and V5 so that backward compatibility is not broken, and any
> > serialized data from prior versions of the Arrow libraries (0.8.0
> > onward) will continue to be readable.
> >
> > Implementations are recommended, but not required, to provide an
> > optional "V4 compatibility mode" for forward compatibility
> > (serializing data from >= 1.0.0 that needs to be readable by older
> > libraries, e.g. Spark deployments stuck on an older Java-Arrow
> > version). In this compatibility mode, non-forward-compatible features
> > added in 1.0.0 and beyond would not be permitted.
> >
> > A PR with the changes to Schema.fbs (possibly subject to some
> > clarifying changes to the comments) is at [2].
> >
> > Once the PR is merged, it will be necessary for implementations to be
> > updated and tested as appropriate at minimum to validate that backward
> > compatibility is preserved (i.e. V4 IPC payloads are still readable --
> > we have some in apache/arrow-testing and can add more as needed).
> >
> > The vote will be open for at least 72 hours.
> >
> > [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> > implications above
> > [ ] +0
> > [ ] -1 Do not accept because...
> >
> > [1]:
> https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> > [2]: https://github.com/apache/arrow/pull/7566
> >
>


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-30 Thread Antoine Pitrou
+1 (binding)


Le 29/06/2020 à 23:42, Wes McKinney a écrit :
> Hi,
> 
> As discussed on the mailing list [1], in order to demarcate the
> pre-1.0.0 and post-1.0.0 worlds, and to allow the
> forward-compatibility-protection changes we are making to actually
> work (i.e. so that libraries can recognize that they have received
> data with a feature that they do not support), I have proposed to
> increment the MetadataVersion from V4 to V5. Additionally, if the
> union validity bitmap changes are accepted, the MetadataVersion could
> be used to control whether unions are permitted to be serialized or
> not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> permitted).
> 
> Since there have been no backward incompatible changes to the Arrow
> format since 0.8.0, this would be no different, and (aside from the
> union issue) libraries supporting V5 are expected to accept BOTH V4
> and V5 so that backward compatibility is not broken, and any
> serialized data from prior versions of the Arrow libraries (0.8.0
> onward) will continue to be readable.
> 
> Implementations are recommended, but not required, to provide an
> optional "V4 compatibility mode" for forward compatibility
> (serializing data from >= 1.0.0 that needs to be readable by older
> libraries, e.g. Spark deployments stuck on an older Java-Arrow
> version). In this compatibility mode, non-forward-compatible features
> added in 1.0.0 and beyond would not be permitted.
> 
> A PR with the changes to Schema.fbs (possibly subject to some
> clarifying changes to the comments) is at [2].
> 
> Once the PR is merged, it will be necessary for implementations to be
> updated and tested as appropriate at minimum to validate that backward
> compatibility is preserved (i.e. V4 IPC payloads are still readable --
> we have some in apache/arrow-testing and can add more as needed).
> 
> The vote will be open for at least 72 hours.
> 
> [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> implications above
> [ ] +0
> [ ] -1 Do not accept because...
> 
> [1]: 
> https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> [2]: https://github.com/apache/arrow/pull/7566
> 


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-30 Thread Uwe L. Korn
+1 (binding)

On Tue, Jun 30, 2020, at 11:11 AM, Neville Dipale wrote:
> +1 (non-binding)
> 
> On Tue, 30 Jun 2020 at 06:29, Ben Kietzman  wrote:
> 
> > +1 (non binding)
> >
> > On Tue, Jun 30, 2020, 00:25 Wes McKinney  wrote:
> >
> > > +1 (binding)
> > >
> > > On Mon, Jun 29, 2020 at 10:49 PM Micah Kornfield 
> > > wrote:
> > > >
> > > > +1 (binding)
> > > >
> > > > On Mon, Jun 29, 2020 at 2:43 PM Wes McKinney 
> > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > As discussed on the mailing list [1], in order to demarcate the
> > > > > pre-1.0.0 and post-1.0.0 worlds, and to allow the
> > > > > forward-compatibility-protection changes we are making to actually
> > > > > work (i.e. so that libraries can recognize that they have received
> > > > > data with a feature that they do not support), I have proposed to
> > > > > increment the MetadataVersion from V4 to V5. Additionally, if the
> > > > > union validity bitmap changes are accepted, the MetadataVersion could
> > > > > be used to control whether unions are permitted to be serialized or
> > > > > not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> > > > > permitted).
> > > > >
> > > > > Since there have been no backward incompatible changes to the Arrow
> > > > > format since 0.8.0, this would be no different, and (aside from the
> > > > > union issue) libraries supporting V5 are expected to accept BOTH V4
> > > > > and V5 so that backward compatibility is not broken, and any
> > > > > serialized data from prior versions of the Arrow libraries (0.8.0
> > > > > onward) will continue to be readable.
> > > > >
> > > > > Implementations are recommended, but not required, to provide an
> > > > > optional "V4 compatibility mode" for forward compatibility
> > > > > (serializing data from >= 1.0.0 that needs to be readable by older
> > > > > libraries, e.g. Spark deployments stuck on an older Java-Arrow
> > > > > version). In this compatibility mode, non-forward-compatible features
> > > > > added in 1.0.0 and beyond would not be permitted.
> > > > >
> > > > > A PR with the changes to Schema.fbs (possibly subject to some
> > > > > clarifying changes to the comments) is at [2].
> > > > >
> > > > > Once the PR is merged, it will be necessary for implementations to be
> > > > > updated and tested as appropriate at minimum to validate that
> > backward
> > > > > compatibility is preserved (i.e. V4 IPC payloads are still readable
> > --
> > > > > we have some in apache/arrow-testing and can add more as needed).
> > > > >
> > > > > The vote will be open for at least 72 hours.
> > > > >
> > > > > [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> > > > > implications above
> > > > > [ ] +0
> > > > > [ ] -1 Do not accept because...
> > > > >
> > > > > [1]:
> > > > >
> > >
> > https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> > > > > [2]: https://github.com/apache/arrow/pull/7566
> > > > >
> > >
> >
>


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-30 Thread Neville Dipale
+1 (non-binding)

On Tue, 30 Jun 2020 at 06:29, Ben Kietzman  wrote:

> +1 (non binding)
>
> On Tue, Jun 30, 2020, 00:25 Wes McKinney  wrote:
>
> > +1 (binding)
> >
> > On Mon, Jun 29, 2020 at 10:49 PM Micah Kornfield 
> > wrote:
> > >
> > > +1 (binding)
> > >
> > > On Mon, Jun 29, 2020 at 2:43 PM Wes McKinney 
> > wrote:
> > >
> > > > Hi,
> > > >
> > > > As discussed on the mailing list [1], in order to demarcate the
> > > > pre-1.0.0 and post-1.0.0 worlds, and to allow the
> > > > forward-compatibility-protection changes we are making to actually
> > > > work (i.e. so that libraries can recognize that they have received
> > > > data with a feature that they do not support), I have proposed to
> > > > increment the MetadataVersion from V4 to V5. Additionally, if the
> > > > union validity bitmap changes are accepted, the MetadataVersion could
> > > > be used to control whether unions are permitted to be serialized or
> > > > not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> > > > permitted).
> > > >
> > > > Since there have been no backward incompatible changes to the Arrow
> > > > format since 0.8.0, this would be no different, and (aside from the
> > > > union issue) libraries supporting V5 are expected to accept BOTH V4
> > > > and V5 so that backward compatibility is not broken, and any
> > > > serialized data from prior versions of the Arrow libraries (0.8.0
> > > > onward) will continue to be readable.
> > > >
> > > > Implementations are recommended, but not required, to provide an
> > > > optional "V4 compatibility mode" for forward compatibility
> > > > (serializing data from >= 1.0.0 that needs to be readable by older
> > > > libraries, e.g. Spark deployments stuck on an older Java-Arrow
> > > > version). In this compatibility mode, non-forward-compatible features
> > > > added in 1.0.0 and beyond would not be permitted.
> > > >
> > > > A PR with the changes to Schema.fbs (possibly subject to some
> > > > clarifying changes to the comments) is at [2].
> > > >
> > > > Once the PR is merged, it will be necessary for implementations to be
> > > > updated and tested as appropriate at minimum to validate that
> backward
> > > > compatibility is preserved (i.e. V4 IPC payloads are still readable
> --
> > > > we have some in apache/arrow-testing and can add more as needed).
> > > >
> > > > The vote will be open for at least 72 hours.
> > > >
> > > > [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> > > > implications above
> > > > [ ] +0
> > > > [ ] -1 Do not accept because...
> > > >
> > > > [1]:
> > > >
> >
> https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> > > > [2]: https://github.com/apache/arrow/pull/7566
> > > >
> >
>


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-29 Thread Ben Kietzman
+1 (non binding)

On Tue, Jun 30, 2020, 00:25 Wes McKinney  wrote:

> +1 (binding)
>
> On Mon, Jun 29, 2020 at 10:49 PM Micah Kornfield 
> wrote:
> >
> > +1 (binding)
> >
> > On Mon, Jun 29, 2020 at 2:43 PM Wes McKinney 
> wrote:
> >
> > > Hi,
> > >
> > > As discussed on the mailing list [1], in order to demarcate the
> > > pre-1.0.0 and post-1.0.0 worlds, and to allow the
> > > forward-compatibility-protection changes we are making to actually
> > > work (i.e. so that libraries can recognize that they have received
> > > data with a feature that they do not support), I have proposed to
> > > increment the MetadataVersion from V4 to V5. Additionally, if the
> > > union validity bitmap changes are accepted, the MetadataVersion could
> > > be used to control whether unions are permitted to be serialized or
> > > not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> > > permitted).
> > >
> > > Since there have been no backward incompatible changes to the Arrow
> > > format since 0.8.0, this would be no different, and (aside from the
> > > union issue) libraries supporting V5 are expected to accept BOTH V4
> > > and V5 so that backward compatibility is not broken, and any
> > > serialized data from prior versions of the Arrow libraries (0.8.0
> > > onward) will continue to be readable.
> > >
> > > Implementations are recommended, but not required, to provide an
> > > optional "V4 compatibility mode" for forward compatibility
> > > (serializing data from >= 1.0.0 that needs to be readable by older
> > > libraries, e.g. Spark deployments stuck on an older Java-Arrow
> > > version). In this compatibility mode, non-forward-compatible features
> > > added in 1.0.0 and beyond would not be permitted.
> > >
> > > A PR with the changes to Schema.fbs (possibly subject to some
> > > clarifying changes to the comments) is at [2].
> > >
> > > Once the PR is merged, it will be necessary for implementations to be
> > > updated and tested as appropriate at minimum to validate that backward
> > > compatibility is preserved (i.e. V4 IPC payloads are still readable --
> > > we have some in apache/arrow-testing and can add more as needed).
> > >
> > > The vote will be open for at least 72 hours.
> > >
> > > [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> > > implications above
> > > [ ] +0
> > > [ ] -1 Do not accept because...
> > >
> > > [1]:
> > >
> https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> > > [2]: https://github.com/apache/arrow/pull/7566
> > >
>


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-29 Thread Wes McKinney
+1 (binding)

On Mon, Jun 29, 2020 at 10:49 PM Micah Kornfield  wrote:
>
> +1 (binding)
>
> On Mon, Jun 29, 2020 at 2:43 PM Wes McKinney  wrote:
>
> > Hi,
> >
> > As discussed on the mailing list [1], in order to demarcate the
> > pre-1.0.0 and post-1.0.0 worlds, and to allow the
> > forward-compatibility-protection changes we are making to actually
> > work (i.e. so that libraries can recognize that they have received
> > data with a feature that they do not support), I have proposed to
> > increment the MetadataVersion from V4 to V5. Additionally, if the
> > union validity bitmap changes are accepted, the MetadataVersion could
> > be used to control whether unions are permitted to be serialized or
> > not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> > permitted).
> >
> > Since there have been no backward incompatible changes to the Arrow
> > format since 0.8.0, this would be no different, and (aside from the
> > union issue) libraries supporting V5 are expected to accept BOTH V4
> > and V5 so that backward compatibility is not broken, and any
> > serialized data from prior versions of the Arrow libraries (0.8.0
> > onward) will continue to be readable.
> >
> > Implementations are recommended, but not required, to provide an
> > optional "V4 compatibility mode" for forward compatibility
> > (serializing data from >= 1.0.0 that needs to be readable by older
> > libraries, e.g. Spark deployments stuck on an older Java-Arrow
> > version). In this compatibility mode, non-forward-compatible features
> > added in 1.0.0 and beyond would not be permitted.
> >
> > A PR with the changes to Schema.fbs (possibly subject to some
> > clarifying changes to the comments) is at [2].
> >
> > Once the PR is merged, it will be necessary for implementations to be
> > updated and tested as appropriate at minimum to validate that backward
> > compatibility is preserved (i.e. V4 IPC payloads are still readable --
> > we have some in apache/arrow-testing and can add more as needed).
> >
> > The vote will be open for at least 72 hours.
> >
> > [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> > implications above
> > [ ] +0
> > [ ] -1 Do not accept because...
> >
> > [1]:
> > https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> > [2]: https://github.com/apache/arrow/pull/7566
> >


Re: [VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-29 Thread Micah Kornfield
+1 (binding)

On Mon, Jun 29, 2020 at 2:43 PM Wes McKinney  wrote:

> Hi,
>
> As discussed on the mailing list [1], in order to demarcate the
> pre-1.0.0 and post-1.0.0 worlds, and to allow the
> forward-compatibility-protection changes we are making to actually
> work (i.e. so that libraries can recognize that they have received
> data with a feature that they do not support), I have proposed to
> increment the MetadataVersion from V4 to V5. Additionally, if the
> union validity bitmap changes are accepted, the MetadataVersion could
> be used to control whether unions are permitted to be serialized or
> not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
> permitted).
>
> Since there have been no backward incompatible changes to the Arrow
> format since 0.8.0, this would be no different, and (aside from the
> union issue) libraries supporting V5 are expected to accept BOTH V4
> and V5 so that backward compatibility is not broken, and any
> serialized data from prior versions of the Arrow libraries (0.8.0
> onward) will continue to be readable.
>
> Implementations are recommended, but not required, to provide an
> optional "V4 compatibility mode" for forward compatibility
> (serializing data from >= 1.0.0 that needs to be readable by older
> libraries, e.g. Spark deployments stuck on an older Java-Arrow
> version). In this compatibility mode, non-forward-compatible features
> added in 1.0.0 and beyond would not be permitted.
>
> A PR with the changes to Schema.fbs (possibly subject to some
> clarifying changes to the comments) is at [2].
>
> Once the PR is merged, it will be necessary for implementations to be
> updated and tested as appropriate at minimum to validate that backward
> compatibility is preserved (i.e. V4 IPC payloads are still readable --
> we have some in apache/arrow-testing and can add more as needed).
>
> The vote will be open for at least 72 hours.
>
> [ ] +1 Accept addition of MetadataVersion::V5 along with its general
> implications above
> [ ] +0
> [ ] -1 Do not accept because...
>
> [1]:
> https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
> [2]: https://github.com/apache/arrow/pull/7566
>


[VOTE] Increment MetadataVersion in Schema.fbs from V4 to V5 for 1.0.0 release

2020-06-29 Thread Wes McKinney
Hi,

As discussed on the mailing list [1], in order to demarcate the
pre-1.0.0 and post-1.0.0 worlds, and to allow the
forward-compatibility-protection changes we are making to actually
work (i.e. so that libraries can recognize that they have received
data with a feature that they do not support), I have proposed to
increment the MetadataVersion from V4 to V5. Additionally, if the
union validity bitmap changes are accepted, the MetadataVersion could
be used to control whether unions are permitted to be serialized or
not (with V4 -- used by v0.8.0 to v0.17.1, unions would not be
permitted).

Since there have been no backward incompatible changes to the Arrow
format since 0.8.0, this would be no different, and (aside from the
union issue) libraries supporting V5 are expected to accept BOTH V4
and V5 so that backward compatibility is not broken, and any
serialized data from prior versions of the Arrow libraries (0.8.0
onward) will continue to be readable.

Implementations are recommended, but not required, to provide an
optional "V4 compatibility mode" for forward compatibility
(serializing data from >= 1.0.0 that needs to be readable by older
libraries, e.g. Spark deployments stuck on an older Java-Arrow
version). In this compatibility mode, non-forward-compatible features
added in 1.0.0 and beyond would not be permitted.

A PR with the changes to Schema.fbs (possibly subject to some
clarifying changes to the comments) is at [2].

Once the PR is merged, it will be necessary for implementations to be
updated and tested as appropriate at minimum to validate that backward
compatibility is preserved (i.e. V4 IPC payloads are still readable --
we have some in apache/arrow-testing and can add more as needed).

The vote will be open for at least 72 hours.

[ ] +1 Accept addition of MetadataVersion::V5 along with its general
implications above
[ ] +0
[ ] -1 Do not accept because...

[1]: 
https://lists.apache.org/thread.html/r856822cc366d944b3ecdf32c2ea9b1ad8fc9d12507baa2f2840a64b6%40%3Cdev.arrow.apache.org%3E
[2]: https://github.com/apache/arrow/pull/7566