On 13/08/2024 17:48, Liam Miller-Cushon wrote:
Hi,
I have a data point to share on the compatibility impact of
JDK-8325621 (Improve jspawnhelper version checks), which was
backported to earlier release trains.
As a result of that change, doing an in-place upgrade from 22.0.1 to
22.0.2 breaks long-running Java applications that create subprocesses.
This is an expected consequence of the change, which adds version
checks to jspawnhelper to detect if a JVM is updated in-place to a
version with an incompatible jspawnhelper.
I'm curious if the list has suggestions on the best way to mitigate
the compatibility impact. One possibility is that replacing a JVM
in-place for a running process should never happen, and installers
should use new directories, or ensure any long-running Java processes
are shut down during the upgrade. Is that considered a best practice?
There was some discussion about this scenario at the time (someone
brought it up here). I think the summary is that upgrading in-place with
running VMs isn't a good idea. When upgrading like this then you need to
ensure that all usages are shutdown first.
-Alan