Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support java 17 source compatibility and current JVM releases #1481

Closed
2 tasks
mbjones opened this issue Feb 12, 2021 · 3 comments
Closed
2 tasks

support java 17 source compatibility and current JVM releases #1481

mbjones opened this issue Feb 12, 2021 · 3 comments
Assignees
Milestone

Comments

@mbjones
Copy link
Member

mbjones commented Feb 12, 2021

We currently operate on Java 8 (issue #1463) and have been prevented in upgrading because of hazelcast needing Java 10 and beyond (issue #1313). Metacat should be operable on supported JVM versions, particularly OpenJDK 11 which is the most recent LTS version. It should be supported through 2026 by AdoptOpenJDK. Java 15 is the current release, which will only be supported until Java 16 comes out in March 2021. See https://en.wikipedia.org/wiki/Java_version_history for a summary.

For us, I think this means we should 1) compile using source compatibility against the most recent LTS version (11 at this time), and 2) ensure our build and tests pass and that we can run under the most recent version (currently 15) at the time of each metacat release.

On the longer time front, I worry about the availability of open java support, and we should be moving towards a more modular infrastructure, and the extent possible refactor subystems like indexing that can stand alone and be gradually migrated to other languages if it makes sense.

To close this issue:

  • Change the metacat build to use source compatibility with the most recent LTS (Java 11), and build releases with that version
  • Test that the release works with the most recent java version (currently Java 15)
@mbjones mbjones added this to the 2.15.0 milestone Feb 12, 2021
@taojing2002 taojing2002 modified the milestones: 2.15.0, 2.16.0 Mar 24, 2021
@taojing2002 taojing2002 modified the milestones: 2.16.0, 2.17.0 Dec 15, 2021
@taojing2002 taojing2002 modified the milestones: 2.17.0, 2.18.0 Mar 21, 2022
@taojing2002 taojing2002 modified the milestones: 2.18.0, 2.19.0 Nov 7, 2022
@taojing2002 taojing2002 modified the milestones: 2.19.0, 3.1.0 Dec 2, 2022
@mbjones mbjones modified the milestones: 3.1.0, 3.0.0 Nov 3, 2023
@mbjones
Copy link
Member Author

mbjones commented Nov 3, 2023

With the removal of Hazelcast, we should now be able to move up to modern Java LTS releases. I suggest we should require Java 17 in the 3.0.0 release, so I am retargeting to that milestone and retargeting the issue.

@mbjones mbjones changed the title support java 11 source compatibility and current JVM releases support java 17 source compatibility and current JVM releases Nov 3, 2023
@taojing2002
Copy link
Contributor

Send an email to metacat-dev mailing list to ask there opinions about our plan:

  • Metacat 3.0.0 supports both java 1.8 and 17.
  • Later versions only support java 17 and later.

@mbjones
Copy link
Member Author

mbjones commented Nov 14, 2023

@taojing2002 after reflecting further, let's consider these options in the email, and ask what people prefer:

  1. Require JRE 17 or later for Metacat 3.0.0 (will require sites to upgrade java to deploy)
  • because Metacat 3 is a major release, breaking changes are expected
  1. Support both JRE 8 and JRE 17 in Metacat 3.0.0, but deprecate JRE 8 to be removed in a later release
  • allows peolle longer to adapt to the JRE upgrade, but means a breaking change will occur in a non-major release later

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants