Hi Kevin,

I believe the general practice is to implement a feature in the latest
supported version (currently Spark 4.0). Once the PR is merged, the author
may choose to backport the feature to older supported versions, but is not
obligated to. If the author does not backport it, others who want the
feature in an older version can choose to backport it.

Sometimes a change is simple enough that it makes sense to implement it for
all supported versions at once (in one PR). In addition, if a change
requires changes in core Iceberg that then requires the same change in
other Spark versions, the change is implemented for all Spark versions in
one PR.

Sometimes a feature depends on changes in the latest supported Spark
version and so cannot be backported.

Finally, sometimes a PR has already been in progress for a long time and
the latest supported Spark version changes in the meantime. It may still
get merged and then be forward ported.

I understand that your intent is to ensure that features/fixes that *can*
be backported be backported. A diff of git logs by itself cannot tell you
if a missing change is portable or not. How and when do you propose to do
this diff, and does the result of the diff cause anything to be blocked or
any action to be taken? Do you perhaps envision this to be done as a kind
of pre-release audit (with enough time to address missing backports)?

- Wing Yew


On Thu, Jul 10, 2025 at 6:43 PM Kevin Liu <kevinjq...@apache.org> wrote:

> Hi everyone,
>
> We currently maintain 3 different versions of spark under
> https://github.com/apache/iceberg/tree/main/spark
> I've seen this issue a couple of times where a feature would be
> implemented for only one of the Spark versions. For example, see
> https://github.com/apache/iceberg/pull/13324 and
> https://github.com/apache/iceberg/pull/13459. It's hard to remember that
> there are 3 different versions of Spark.
>
> Do we want to verify that features are implemented across all 3 versions
> if possible? If so, we can diff the git logs between spark 3.4
> <https://github.com/apache/iceberg/commits/main/spark/v3.4>, 3.5
> <https://github.com/apache/iceberg/commits/main/spark/v3.5>, and 4.0
> <https://github.com/apache/iceberg/commits/main/spark/v4.0>.
>
> Best,
> Kevin Liu
>

Reply via email to