dcache
dcache copied to clipboard
Java version detection always succeeds
dCache doesn't correctly detect java version, because following code
https://github.com/dCache/dcache/blob/f5cd99a116645b5aa874b6975c52f5f0a888bad7/skel/share/lib/loadConfig.sh#L57-L65
always return 0, because *1[1-9]* matches output from all java version. With installed Java 1.8 dCache startup doesn't log any useful information why service startup failed.
Also be aware that Java 17 on CentOS7 provides "incompatible" output with just major version number openjdk version "17".
- CentOS7 and Java 1.8
$ /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/bin/java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
- CentOS7 and Java 17
$ /usr/lib/jvm/java-17/bin/java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment 21.9 (build 17+35)
OpenJDK 64-Bit Server VM 21.9 (build 17+35, mixed mode, sharing)
- CentOS8 and Java 1.8
$ /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
- CentOS8 and Java 16
$ /usr/lib/jvm/java-16/bin/java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment 21.3 (build 16.0.1+9)
OpenJDK 64-Bit Server VM 21.3 (build 16.0.1+9, mixed mode, sharing)