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+
nixpkgspulls in Java 11.
IntelliJ is using Java 11.0.10, so if I would let Cursive use
tools.depsdirectly (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.