ETA of Java 11 for ions

I’m wondering, when can we expect JVM updates on Datomic Cloud compute groups?

It would already be great to see it on the Solo topology at least, since it’s likely that small installations have less stringent operational requirements.

We would like to utilise java.net.http.HttpClient for interacting with the APIs of external services from Ions. Through the GitHub - gnarroway/hato: An HTTP client for Clojure, wrapping JDK 11's HttpClient library, it provides a feature-rich, convenient, extensible Clojure HTTP client.

Some dev tools - like REBL and Reveal: Read Eval Visualize Loop for Clojure - use JavaFX, which is good to have the latest versions, which have lots of fixes and features in recent versions, allowing to use them not only on macOS but Linux too.

The other reason would be to have a more streamlined development and CI environment.

  • The official Clojure - Getting Started guide states that Java 11 is supported.

  • Currently the Clojure CLI tools pull in Java 15 if I install it from the main homebrew tap or not any specific Java version if I install via brew install clojure/tools/clojure.

  • Cognitect REBL | Datomic supports Java 8 and 11+

  • Installing from nixpkgs pulls in Java 11.

  • IntelliJ is using Java 11.0.10, so if I would let Cursive use tools.deps directly (as opposed to shelling our to Clojure CLI), then that would be used.

If I’m forced to depend on Java 8, I need to download (and keep up to date) an extra 80MB (~200MB unpacked) on our developer workstations and CI servers.

I’ve read a wish from Alex Miller’s somewhere for being able to just get new GC algorithms from newer Java releases, while maintaining the same JDK APIs, so I understand the conservative standpoint.

I guess it’s also non-trivial to upgrade, since there are many different distributions of Java 11.

I was also just bitten by this HttpClient bug today: https://bugs.openjdk.java.net/browse/JDK-8241054
because I pinned our Java version in nixpkgs to 10.0.1. So, sure, I see there are reasons against the upgrade, to avoid version churn.

Still, I wish Java 11 on compute groups was an option.

2 Likes

Hi @onetom

Thanks for the report this is on our list. We’re looking at it for a future release, I’ll let you know as soon as I have more details.

We deploy on Java 11 and use the built-in HTTP client and also were bit by that JDK bug!

fwiw, I opened an ask.datomic question here so everyone can vote on this feature: Java 11+ Ion support - Datomic Knowledgebase.

Thanks @kenny, I’ve upvoted too!
I was not aware of that ask.datomic.com site.