Hi All, Currently the iceberg CI/development build relies on a custom gradle plugin to start a Nessie server for the nessie module tests. The underlying tech that powers a nessie server is Quarkus. Unfortunately Quarkus is dropping support for building and running from jdk8. This means that the Java8 build and the Nessie module are no longer compatible. Note this is the server only, and has no effect on the client. The client and the nessie iceberg catalog are still jdk8/jdk11 compatible.
We have a few ways to fix this and I wanted to solicit the opinion of the community before working on one: 1) Have a JDK11 available on the PATH for builds. JDK11 based builds work fine and JDK8 based builds can use the JDK11 on PATH to start the Nessie server. This is easy in CI but it requires all devs to have a JDK11 available. I am assuming that most developers have jdk11 on their path already? 2) Use testcontainers. The testcontainers plugin would start the Nessie docker image for nessie tests. This would add a dependency of Docker to both CI builds and developer builds. I am aware of other Apache projects who use testcontainers so I don't think there are license issues but Docker is potentially a large dependency. 3) Skip Nessie module for JDK8 builds. This has little effect on CI and developers but it complicates the release as to get all release modules a build would have to happen for JDK8 and JDK11. 4) We rebuild the Nessie server to work w/ Jersey. This has no effect on iceberg devs but it's quite expensive for us. The order of preference for us is 1->4. I understand that most people will prefer 4 but I am hoping that 1, 2, or 3 may be possible and we can save some dev time on project Nessie. Best, Ryan