We need a mechanism to remove fields. Typically this would involve some
time horizon.

I suggest we establish a deprecation horizon now, say 3y, and start the
clocks ticking. Plus some convention for marking deprecated fields because
the thrift IDL lacks a way to do this in code. I propose the annotation `//
DEPRECATED-EOL-20270421` followed by a description on what happens in the
interim. For example for this field:

```
  /** Byte offset in file_path to the ColumnMetaData **/
  // DEPRECATED-EOL-20270421
  // Before 20240625 this field was required. Since then it was made
optional. New writers MUST write it util EOL to support old readers.
  2: optional i64 file_offset
```


On Tue, Jun 25, 2024 at 9:23 AM Micah Kornfield <emkornfi...@gmail.com>
wrote:

> >
> > but I'm not clear on how that will
> > impact existing parsers.
>
>
> This can break older parsers, that validate required fields are in fact
> present.  I think it would be best to just update documentation on the
> current state of affairs, and let implementations update accordingly if
> necessary.
>
> On Mon, Jun 24, 2024 at 3:21 PM Ed Seidl <etse...@live.com> wrote:
>
> > Resurrecting a thread from earlier in the month regarding inconsistent
> > use of the file_offset field [1][2]. It seems like the preferred path
> > forward is to deprecate this (AFAICT) unused field to prevent further
> > confusion. If there are no violent objections, I'll submit a PR to do so
> > in a few days.
> >
> > One question I have, though, is how to handle the requiredness of the
> > file_offset (currently required) and meta_data (currently optional)
> > fields in ColumnChunk. I'd prefer to switch them, and make file_offset
> > optional and meta_data required, but I'm not clear on how that will
> > impact existing parsers. I believe most (all) implementations ignore
> > file_offset anyway, and expect meta_data to be present, so maybe this is
> > a non-issue.
> >
> > Thanks,
> > Ed
> >
> > [1] https://lists.apache.org/thread/q5r43ks61q4wcbvwsk1jyw4h30fvg68t
> > [2] https://github.com/apache/parquet-java/pull/1369
> >
>

Reply via email to