Hi Greg, You are right that KIP-1013 and the JDK 17 upgrade is not directly relevant because JDK 11 can still be used with Jakarta APIs. However, it's still somewhat relevant and important because if we are stuck at JDK 11 then we can't upgrade to certain versions. For Connect, there is a Jetty server for the rest API, if we wanted to use Jetty 12.x that requires JDK 17+. The problem with using Jetty 11.x is that it is already EOL.
So are we really locked into JDK 11 for Connect for version 4.0? It would require people to upgrade their connectors to run on JDK 17 but shipping Kafka 4.0 with a Jetty version that is already end of life doesn't make sense to me. I know that Connect supports isolated classloaders for connectors but that of course is not the same as different Java versions. Chris On Tue, Mar 26, 2024 at 11:33 AM Greg Harris <greg.har...@aiven.io.invalid> wrote: > Hi Christopher! > > Thanks so much for raising this. I agree that we should move to the > new namespace in 4.0, and not doing so would be a mistake. > This breaking change has a lot of benefits, and the only cost I am > aware of is that ConnectRestExtensions will need to be migrated, > rebuilt, and re-released for 4.0+ > > Can you explain how KIP-1013 and the Java version are relevant? > Connect is dependent on this namespace, but will still need to support > Java 11 in 4.0. > > Thanks! > Greg > > On Tue, Mar 26, 2024 at 5:04 AM Christopher Shannon > <christopher.l.shan...@gmail.com> wrote: > > > > Is this already being planned for version 4.0? If not, I strongly thing > it > > should be. > > > > Kafka is currently using the old long deprecated javax apis which is > going > > to continue to cause issues [1] for people as more and more things are > > updated to use Jakarta. > > > > With the bump to require JDK 17 for version 4.0 [2] this seems like the > > perfect time to upgrade to a new version of JavaEE and Jakarta apis and > new > > versions of dependencies like Jackson, Jersey, Jetty (12.x), etc that all > > support the new namespace. It needs to be upgraded at some point anyways > so > > a major version makes sense to me. > > > > Another scenario where I've run into this problem is testing. For > example, > > If I try to run tests against my custom code with an embedded Kafka > broker > > and components in JUnit, then things break with newer dependencies like > > Spring that require Jakarta as it interferes on the classpath. > > > > [1] https://issues.apache.org/jira/browse/KAFKA-16326 > > [2] > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=284789510 >