All the jobs in the views are getting discarded if Java version is upgraded to JDK17

Jobs under the views are not being persisted after changing to OpenJDK 17.

To test this I created a new view and selected the needed jobs but after restarting the Jenkins the newly created view is getting emptied as well.

I am using Tomcat 9 currently

Jenkins setup:
Jenkins: 2.462.3
OS: Windows Server 2016 - 10.0
Java: 11.0.18 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)
---
Office-365-Connector:5.0.0
Parameterized-Remote-Trigger:3.2.0
ant:511.v0a_a_1a_334f41b_
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
asm-api:9.7.1-97.v4cc844130d97
authentication-tokens:1.119.v50285141b_7e1
blueocean-commons:1.27.16
blueocean-core-js:1.27.16
blueocean-dashboard:1.27.16
blueocean-display-url:2.4.3
blueocean-events:1.27.16
blueocean-git-pipeline:1.27.16
blueocean-github-pipeline:1.27.16
blueocean-i18n:1.27.16
blueocean-jwt:1.27.16
blueocean-personalization:1.27.16
blueocean-pipeline-api-impl:1.27.16
blueocean-pipeline-editor:1.27.16
blueocean-pipeline-scm-api:1.27.16
blueocean-rest:1.27.16
blueocean-rest-impl:1.27.16
blueocean-web:1.27.16
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_
branch-api:2.1200.v4b_a_3da_2eb_db_4
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.1
cloudbees-folder:6.955.v81e2a_35c08d3
command-launcher:116.vd85919c54a_d6
commons-lang3-api:3.17.0-84.vb_b_938040b_078
commons-text-api:1.12.0-129.v99a_50df237f7
conditional-buildstep:1.4.3
config-file-provider:980.v88956a_a_5d6a_d
configurationslicing:548.ve92d48e66b_f8
coverage:1.16.1
credentials:1384.vf0a_2ed06f9c6
credentials-binding:681.vf91669a_32e45
cvs:469.v57a_96d4f6886
dark-theme:479.v661b_1b_911c01
dashboard-view:2.521.v339b_a_f4d8da_8
data-tables-api:2.1.8-1
disk-usage:1.3
display-url-api:2.204.vf6fddd8a_8b_e9
durable-task:581.v299a_5609d767
echarts-api:5.5.1-4
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1849.v6dd03b_f6e423
envinject:2.919.v009a_a_1067cd0
envinject-api:1.199.v3ce31253ed13
extended-read-permission:53.v6499940139e5
external-monitor-job:215.v2e88e894db_f8
favorite:2.221.v19ca_666b_62f5
font-awesome-api:6.6.0-2
forensics-api:2.6.0
git:5.5.2
git-client:5.0.0
git-parameter:0.10.0
git-server:126.v0d945d8d2b_39
github:1.40.0
github-api:1.321-468.v6a_9f5f2d5a_7e
github-branch-source:1807.v50351eb_7dd13
gson-api:2.11.0-85.v1f4e87273c33
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
htmlpublisher:1.37
http_request:1.19
instance-identity:201.vd2a_b_5a_468a_a_6
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javadoc:280.v050b_5c849f69
javax-activation-api:1.2.0-7
javax-mail-api:1.6.2-10
jaxb:2.3.9-1
jdk-tool:80.v8a_dee33ed6f0
jenkins-design-language:1.27.16
jenkins-jira-plugin:3.9.0
jersey2-api:2.44-151.v6df377fff741
jira:3.13
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
jnr-posix-api:3.1.19-2
job-dsl:1.89
job-import-plugin:3.6
job-restrictions:209.va_a_55deb_3ef91
jobConfigHistory:1283.veb_dfb_00b_5ec0
joda-time-api:2.13.0-93.v9934da_29b_a_e9
jquery:1.12.4-3
jquery3-api:3.7.1-2
jsch:0.2.16-86.v42e010d9484b_
json-api:20240303-101.v7a_8666713110
json-path-api:2.9.0-118.v7f23ed82a_8b_8
junit:1309.v0078b_fecd6ed
ldap:725.v3cb_b_711b_1a_ef
log-parser:2.3.6
mailer:488.v0c9639c1a_eb_3
mapdb-api:1.0.9-40.v58107308b_7a_7
matrix-auth:3.2.3
matrix-project:839.vff91cd7e3a_b_2
maven-plugin:3.24
metrics:4.2.21-458.vcf496cb_839e4
mina-sshd-api-common:2.14.0-133.vcc091215a_358
mina-sshd-api-core:2.14.0-133.vcc091215a_358
msbuild:1.35
multiple-scms:0.8
nant:248.vcc8a_3eec8db_a
nodejs:1.6.2
nodelabelparameter:1.13.0
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
pam-auth:1.11
parameterized-trigger:806.vf6fff3e28c3e
people-view:1.2
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-groovy-lib:744.v5b_556ee7c253
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2218.v56d0cda_37c72
pipeline-model-definition:2.2218.v56d0cda_37c72
pipeline-model-extensions:2.2218.v56d0cda_37c72
pipeline-rest-api:2.34
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2218.v56d0cda_37c72
pipeline-stage-view:2.34
plain-credentials:183.va_de8f1dd5a_2b_
plugin-usage-plugin:4.8
plugin-util-api:5.1.0
powershell:2.2
preSCMbuildstep:71.v1f2990a_37e27
prism-api:1.29.0-18
project-build-times:1.2.1
pubsub-light:1.18
resource-disposer:0.24
robot:5.0.0
role-strategy:743.v142ea_b_d5f1d3
run-condition:1.7
scm-api:696.v778d637b_a_762
script-security:1369.v9b_98a_4e95b_2d
simple-theme-plugin:196.v96d9592f4efa_
snakeyaml-api:2.3-123.v13484c65210a_
sonar:2.17.3
sse-gateway:1.27
ssh-credentials:349.vb_8b_6b_9709f5b_
ssh-slaves:2.973.v0fa_8c0dea_f9f
sshd:3.330.vc866a_8389b_58
structs:338.v848422169819
synopsys-coverity:3.0.5
text-finder-run-condition:6.vdf94e6f8d2c3
theme-manager:262.vc57ee4a_eda_5d
timestamper:1.27
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
variant:60.v7290fc0eb_b_cd
versioncolumn:243.vda_c20eea_a_8a_f
view-job-filters:392.v2c0a_4dd46909
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3996.va_f5c1799f978
workflow-durable-task-step:1378.v6a_3e903058a_3
workflow-job:1436.vfa_244484591f
workflow-multibranch:795.ve0cb_1f45ca_9a_
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:678.v3ee58b_469476
workflow-support:936.v9fa_77211ca_e1
ws-cleanup:0.47

I can’t duplicate the issue you’re describing. I used your list of plugins with Java 11 and Jenkins 2.462.3 and created two jobs and two views, assigning one job to each view, then restarted with Java 17. The views remained as defined.

Maybe something else changed when you switched from Java 11 to Java 17?

I saw that you have several outdated plugins installed. You should consider removing the plugins:

  • Multiple SCMs - deprecated and should be replaced with Pipeline jobs
  • Project build times - reports warnings when Jenkins starts, last released 11 years ago
  • CVS - most users don’t access CVS source control any longer
  • Job import plugin - unlikely that you are using job import and its old minimum Jenkins version prevents you from removing the Oracle JDK installer plugin
  • Oracle JDK installer plugin - not needed by most users because Oracle Java licenses are no longer free for many Java versions

Thanks for the quick turnaround on this. I have investigated this further there are some additional JAVA OPTIONS needs to be set in order for it to work. After the update JDK17 is working fine without any issues.

--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--enable-native-access=ALL-UNNAMED