bookkeeper icon indicating copy to clipboard operation
bookkeeper copied to clipboard

[BP-52] Build and Run Bookkeeper on Java11

Open hezhangjian opened this issue 3 years ago • 2 comments

Motivation

Currently, bookkeeper keeps the compatible with java8. Java11, a lts version of jdk, provides new features and performance optimization. And Java11 was released in 2018 and is now mature. I think it's time to migrate to java11.

Breaking Changes

java8 is not supported

Release plan

Including this in bookkeeper 4.16.0

hezhangjian avatar Jun 05 '22 08:06 hezhangjian

Unfortunately most of the Java users are still on JDK8. We must keep the JDK8 compatibility for BK clients. The client and the server are in the same module so we cannot enforce different JDK compatibility rules.

A first approach would be to split into different modules server and client but it would require a big effort

nicoloboschi avatar Jun 07 '22 13:06 nicoloboschi

Anyway, instead of targeting JDK11, I believe we can go with JDK17 and move the CI to JDK17. I did some work on that direction but there's still this issue with powermockito: https://github.com/apache/bookkeeper/issues/3257

nicoloboschi avatar Jun 07 '22 13:06 nicoloboschi