RussellSpitzer opened a new pull request, #3935: URL: https://github.com/apache/parquet-java/pull/3935
### Rationale for this change Parquet-java seems to be unique amongst several other implementations in that it encrypts only the values of DataPageV2 structures separate from repetition and definition levels. All the other implementations (rs, c++, go, duckdb) assume that a DataPageV2 is encrypted as a single module with the the information together. ### What changes are included in this PR? The main change is that all new files will be written encrypting the entire DataPageV2 as a single entity rather than storing levels in plaintext. Readers are changed to support a fully encrypted DataPageV2 as well as falling back to reading encrypted pages with the previous behavior. ### Are these changes tested? Yes. Files were generated with both whole module encryption and only encrypting the values. Both are included as test cases ### Are there any user-facing changes? **Yes. This is a breaking change for users of Parquet-Java.** Encrypted Files written by the next version of Parquet Java (currently 1.9.0) will be unable to be read by Parquet 1.8 and earlier. They will though be readable by all the other Parquet implementations. Encrypted files written by 1.8 and earlier will remain readable by 1.9. Closes #3934 This pr was written with the assistance of Claude Opus 5.5 and I haven't fully finished my review which is why I'm leaving this as a draft. -- 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]
