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]

Reply via email to