Hey Gabor,

Given that we are not deprecating or altering any classes, and there are no
changes to package names,
I believed it would be acceptable to include these changes in minor
versions (with appropriate updates in the release notes).
Moreover, everyone is already reliant on the `iceberg-core` module, so
there is no need to introduce additional dependencies.
I did not come across any specific restrictions regarding this in
https://iceberg.apache.org/contribute/#semantic-versioning either.

I am open to hearing suggestions from the community.
If a major version change is deemed necessary for these updates, we can
initiate the work on the 2.0.0 release with the required modifications.

Thanks,
Ajantha

On Thu, Nov 2, 2023 at 1:51 PM Gabor Kaszab <gaborkas...@apache.org> wrote:

> Hey Ajantha,
>
> Wouldn't this require a major version bump considering this is a breaking
> change for users depending on iceberg-parquet or iceberg-orc now?
>
> Gabor
>
> On Thu, Nov 2, 2023 at 3:01 AM Ajantha Bhat <ajanthab...@gmail.com> wrote:
>
>> Hi Everyone,
>>
>> At present, Iceberg exclusively utilizes Avro, JSON, and Puffin formats
>> to handle metadata. Few discussions in the past have explored the
>> possibility
>> of supporting these existing metadata in Parquet or ORC format. However,
>> with the addition of partition statistics
>> <https://github.com/apache/iceberg/blob/main/format/spec.md#partition-statistics-file>,
>> Iceberg's metadata (stats file) will be
>> represented in Parquet or ORC formats.
>>
>> To enable the `iceberg-core` module to write metadata in Parquet or ORC
>> format, it will make extensive use of the functions found in the
>> `iceberg-parquet`
>> and `iceberg-orc` modules. However, due to a circular dependency issue,
>> `iceberg-core` cannot directly rely on `iceberg-parquet` and `iceberg-orc`.
>> Consequently, I suggest merging `iceberg-parquet` and `iceberg-orc` as
>> packages within the `iceberg-core` module.
>>
>> For end users, the main change in the new release package will be the
>> absence of separate `iceberg-parquet` and `iceberg-orc` JAR files. Instead,
>> they can
>> depend on `iceberg-core` (which they were likely doing already). This
>> change will also be clearly documented in the release notes.
>>
>> I would appreciate hearing your thoughts on this proposal.
>>
>> For a detailed look at the code changes required to implement the
>> integration of `iceberg-parquet` into `iceberg-core`,
>> please refer to the following PR:
>> https://github.com/apache/iceberg/pull/8500
>>
>> Thanks,
>> Ajantha
>>
>

Reply via email to