Thanks Eduard, Kevin. I'll file the PRs and tag you for reviews. On Wed, Jun 17, 2026 at 10:16 AM Kevin Liu <[email protected]> wrote:
> Sounds like a great idea. +1 to having separate PRs, might be easier to > review/rebase. > > On Wed, Jun 17, 2026 at 7:27 AM Eduard Tudenhöfner < > [email protected]> wrote: > >> I'm in favor of switching to the new switch expression as it makes the >> code easier to read. However, I would handle changing *instanceof* stuff >> in a separate PR. >> >> On Wed, Jun 17, 2026 at 1:15 AM Neelesh Salian <[email protected]> >> wrote: >> >>> Hi folks, >>> >>> Reviving this with 1.12 on the horizon. I think this is a good time to >>> do a scoped change. >>> I'd like to port #15494 <https://github.com/apache/iceberg/pull/15494> >>> forward >>> to a fresh PR and drive it for 1.12. Spoke to Max offline and he's agreed. >>> Manu, I'll fold in anything from #15176 >>> <https://github.com/apache/iceberg/pull/15176> that's not already >>> covered. >>> >>> Scope is switches and pattern-matching instanceof in iceberg-core, same >>> as #15494 <https://github.com/apache/iceberg/pull/15494>'s intent. Text >>> blocks, records, and sealed classes stay "use when appropriate" per the >>> Java 17 Features thread [1], not in this PR. >>> >>> Please let me know if there are any objections to the approach or the >>> scope. If none, I'll add this to the 1.12 milestone and open the PR. >>> >>> Thanks, Neelesh >>> >>> [1] https://lists.apache.org/thread/b29jyys3lnr72dbscb5rlg9601c4hbh1 >>> >>> >>> On Fri, Jan 30, 2026 at 6:09 AM Manu Zhang <[email protected]> >>> wrote: >>> >>>> Thanks Peter for opening the discussion. I agree option 2 might work >>>> for most people. >>>> We can merge/cherry-pick PRs after cutting the release branch. >>>> Actually, Intellij IDEA has built-in support for such optimizations so it's >>>> quite easy to rebase/reapply the changes. >>>> >>>> Regards, >>>> Manu >>>> >>>> On Fri, Jan 30, 2026 at 6:27 PM Maximilian Michels <[email protected]> >>>> wrote: >>>> >>>>> Hi Peter, >>>>> >>>>> Thanks for starting the discussion! I'm in favor of making use of Java >>>>> 17 language. There isn't much we gain from dropping Java 11, if we >>>>> keep the language target to 11. Features like pattern matching, text >>>>> blocks, and sealed classes will help us to write cleaner and more >>>>> maintainable code. >>>>> >>>>> Approach (2) seems like a good compromise to minimize the disruption >>>>> for organizations which backport changes and can't necessarily migrate >>>>> to a new Java version mid-cycle. The only caveat I see is that some >>>>> downstream project might not properly support Java 17. For example, we >>>>> still support Flink 1.20, but Flink only has proper Java 17 support >>>>> from Flink 2.0 on. >>>>> >>>>> Cheers, >>>>> Max >>>>> >>>>> On Fri, Jan 30, 2026 at 9:47 AM Péter Váry < >>>>> [email protected]> wrote: >>>>> > >>>>> > After dropping Java 11, we discussed whether we should start using >>>>> the newer language features now available to us [1]. The general sentiment >>>>> was that we should. >>>>> > >>>>> > Manu has since opened a large PR [2] that migrates all switch >>>>> statements to the new switch syntax. While this is a valuable improvement, >>>>> the size and scope of the change are quite disruptive. This is especially >>>>> true for other large, ongoing PRs and for teams that maintain internal >>>>> forks of Iceberg. >>>>> > >>>>> > I see three possible ways forward: >>>>> > >>>>> > Bite the bullet now and do the migration in one large PR. >>>>> > Wait until shortly before the release and merge the PR then. This >>>>> could help organizations that are closely tied to the Apache release cycle >>>>> but tend to cherry-pick changes mid-cycle. >>>>> > Apply the new switch syntax incrementally, using it only in new code >>>>> or when the surrounding code is otherwise being modified. >>>>> > >>>>> > My preference would be option 1 or 2. I’m happy to review the code >>>>> if we decide to proceed in either of those directions, but I’d like to >>>>> hear >>>>> others’ thoughts before we make any sweeping changes. >>>>> > >>>>> > Thanks, >>>>> > Peter >>>>> > >>>>> > References: >>>>> > >>>>> > [1] Dev thread - Java 17 features >>>>> > https://lists.apache.org/thread/b29jyys3lnr72dbscb5rlg9601c4hbh1 >>>>> > [2] PR - Replace switch statement with switch expression >>>>> > https://github.com/apache/iceberg/pull/15176 >>>>> >>>>
