etseidl commented on issue #563: URL: https://github.com/apache/parquet-format/issues/563#issuecomment-4579483936
> First, whether changing required to optional breaks readers if all of the values are present. I suspect that it doesn't, but we need to confirm that. There is no difference on the wire between an optional or required field, so there should be no issue with an older reader consuming a new file, nor a new reader consuming an old file. > If my guesses are correct, then this is a forward-compatibility breaking change. That is, older readers are no longer compatible when writers do not produce path_in_schema values. In that case, I think that we need to plan how to handle that compatibility issue. I don't think it is okay to leave this up to writers without clear guidance. Yes, this absolutely does represent a forward-incompatible change. That's why we are following the guidance in the [contributing guide](https://github.com/apache/parquet-format/blob/master/CONTRIBUTING.md#compatibility-and-feature-enablement). > Forward incompatible features/changes should not be turned on by default until 2 years after the parquet-java implementation containing the feature is released. It is recommended that changing the default value for a forward incompatible feature flag should be clearly advertised to consumers (e.g. via a major version release if using Semantic Versioning, or highlighed in release notes). The three PoCs for this addition will by default continue to emit `path_in_schema`, and require explicit user intervention to not do so. If this is adopted, I'll be proposing adding a line to the [implementation status](https://parquet.apache.org/docs/file-format/implementationstatus/) page. After two years, so long as a critical mass of readers support the feature, writers may choose to omit the field by default. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
