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

Increase the JDK/Java Version. #7

Open
kaladay opened this issue Sep 20, 2024 · 0 comments
Open

Increase the JDK/Java Version. #7

kaladay opened this issue Sep 20, 2024 · 0 comments
Labels
story A user story or similar.

Comments

@kaladay
Copy link

kaladay commented Sep 20, 2024

We should try increasing the Java/JDK version in use to gain more up to date and possible better performant and more well supported image processing for Cantaloupe.

Docker Images:

The JDK22 looks like a good target for now:

It has the longest support at the moment..
Alternatively, we could tweak the docker container ourselves and try to get JDK23, which is generally supported until March 2025.

All the dockerfile is doing is using a wget to get the specific JDK:

The processors documentation in Cantaloupe states:

This processor relies the JDK's Image I/O JPEG plugin. This plugin implements the JFIF standard strictly and is known to fail to read certain images with error message such as, "Inconsistent metadata read from stream." If this turns out to be a problem, try updating to the latest JRE version and see if that fixes it...

Upgrading the JDK may have performance benefits.

The Garbage Collectors may be of relevance as well according to the documentation:

Over the years, the JVM's default GC implementation has changed as new GCs have been developed that try to improve efficiency and reduce freezes. Java 7 and 8 use the Parallel GC. The G1 GC became the default in Java 9. Java 11 introduced ZGC as an experimental new GC, and Java 12 introduced Shenandoah as another experimental GC. All of these GCs can be experimented with by passing command-line arguments to the java invocation.

The JPF file format is not supported by the current version of Java being used.
Upgrading to a newer version of Java might fix the JPF support.
Java is used as a failsafe and so it would be great if the failsafe actually worked.
The Kakadu or OpenJPG are still good candidates for regular/non-failsafe usage.

see:

@kaladay kaladay added the story A user story or similar. label Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
story A user story or similar.
Projects
None yet
Development

No branches or pull requests

1 participant