Skip to content

Comments

Upgrade to Payara 7 and Java 21#12043

Open
qqmyers wants to merge 15 commits intoIQSS:developfrom
QualitativeDataRepository:IQSS/12020-Payara7_Java21_update
Open

Upgrade to Payara 7 and Java 21#12043
qqmyers wants to merge 15 commits intoIQSS:developfrom
QualitativeDataRepository:IQSS/12020-Payara7_Java21_update

Conversation

@qqmyers
Copy link
Member

@qqmyers qqmyers commented Dec 12, 2025

What this PR does / why we need it: This PR updates Dataverse to be compatible with Payara 7.2025.2 and Java 21. Aside from the doc changes (payara6 -> payara7 etc.) the changes were relatively minor - a couple deprecated annotations we use (NotEmpty, NotBlank) were removed and replaced with new ones, and some of the EE related classes we mock in tests now have a few more methods that have to be overridden.

Which issue(s) this PR closes:

Special notes for your reviewer: Someone will need to check the Docker related compose files and documentation to make the relevant updates to Payara and Java. I tried to avoid updating things related to the Keycloak container since it shouldn't need to update to Java 21.

Suggestions on how to test this: Undeploy the current Dataverse, install Payara 7.2025.2 and Java 21, deploy this branch, regression test.

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

Is there a release notes update needed for this change?: included.

Additional documentation:

@qqmyers qqmyers added the Size: 10 A percentage of a sprint. 7 hours. label Dec 12, 2025
@qqmyers qqmyers moved this to Ready for Triage in IQSS Dataverse Project Dec 12, 2025
@qqmyers qqmyers added this to the 6.10 milestone Dec 12, 2025
@coveralls
Copy link

coveralls commented Dec 12, 2025

Coverage Status

coverage: 24.336%. remained the same
when pulling df2fd0a on QualitativeDataRepository:IQSS/12020-Payara7_Java21_update
into 9a5ca93 on IQSS:develop.

@qqmyers
Copy link
Member Author

qqmyers commented Dec 15, 2025

Apparently Payara 7.x has a minor bug - any API call with a colon in it fails. payara/Payara#7777 - looks like we need to wait for 7.2025.3 or 7.2026.1 +

@scolapasta scolapasta moved this from Ready for Triage to On Hold ⌛ in IQSS Dataverse Project Dec 16, 2025
@qqmyers qqmyers moved this from On Hold ⌛ to In Progress 💻 in IQSS Dataverse Project Jan 22, 2026
@qqmyers qqmyers removed the Waiting label Jan 22, 2026
@qqmyers
Copy link
Member Author

qqmyers commented Jan 22, 2026

Apparently Payara 7.x has a minor bug - any API call with a colon in it fails. payara/Payara#7777 - looks like we need to wait for 7.2025.3 or 7.2026.1 +

There's been an unofficial report that this is fixed in 7.2026.1 - can now move forward and try that.

@qqmyers qqmyers moved this from In Progress 💻 to Ready for Review ⏩ in IQSS Dataverse Project Jan 28, 2026
@cmbz cmbz added FY26 Sprint 15 FY26 Sprint 15 (2026-01-14 - 2026-01-28) FY26 Sprint 16 FY26 Sprint 16 (2026-01-28 - 2026-02-11) labels Jan 29, 2026
@wshahn
Copy link

wshahn commented Feb 10, 2026

TASK [dataverse : copy warfile over release] ***********************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Source /opt/dataverse/dataverse/target/dataverse-6.8.war not found"}

@qqmyers Hit this when building the warfile, could you please refresh your branch when you get a chance? Thanks!

@cmbz cmbz added the FY26 Sprint 17 FY26 Sprint 17 (2026-02-11 - 2026-02-25) label Feb 11, 2026
@wshahn
Copy link

wshahn commented Feb 13, 2026

Tests passed:
Screenshot 2026-02-13 at 4 29 31 PM

@stevenwinship
Copy link
Contributor

@qqmyers please resolve the conflicts

@pdurbin pdurbin mentioned this pull request Feb 24, 2026
@pdurbin pdurbin moved this from Ready for Review ⏩ to In Review 🔎 in IQSS Dataverse Project Feb 24, 2026
@pdurbin pdurbin self-assigned this Feb 24, 2026
Copy link
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A quick review.

@pdurbin pdurbin changed the title IQSS/12020 Payara7 Java21 update Upgrade to Payara 7 and Java 21 Feb 24, 2026
@pdurbin
Copy link
Member

pdurbin commented Feb 24, 2026

I'm just using this comment to jot down expected error messages if you don't follow the upgrade steps.

mvn -Pct clean package docker:run
...
[ERROR] Rule 1: org.apache.maven.enforcer.rules.version.RequireJavaVersion failed with message:
[ERROR] Detected JDK version 17.0.16 (JAVA_HOME=/Users/pdurbin/.sdkman/candidates/java/17.0.16-tem) is not in the allowed range [21.0,).
...
[ERROR] DOCKER> Unable to pull 'gdcc/base:6.10-noble-p7.2026.1-j21' : {"message":"failed to resolve reference \"docker.io/gdcc/base:6.10-noble-p7.2026.1-j21\": docker.io/gdcc/base:6.10-noble-p7.2026.1-j21: not found"} (Not Found: 404) [{"message":"failed to resolve reference \"docker.io/gdcc/base:6.10-noble-p7.2026.1-j21\": docker.io/gdcc/base:6.10-noble-p7.2026.1-j21: not found"} (Not Found: 404)]

@pdurbin
Copy link
Member

pdurbin commented Feb 24, 2026

I was able to get the branch running in Docker after switching to Java 21 and building the base image myself. I made a couple commits in the docs about this:

24cad02 build the base image yourself for new Payara versions
64b6187 explain sdk use

I was able to create a dataset.


#### Update Instructions:

In addition to the standard Payara update instructions and instructions related to Java 21 (do we say more than install Java 21 following standard guidance for your OS?):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The above is just a placeholder, obviously. We should take a look at these:

Copy the following files from the distributed domain.xml version to your domain. I don't know if all of these are required but we don't edit these by default and they have changed over time.
As with the 6.9 release, at least updating the *.p12 files is important (to get new root certs).
cacerts.p12
default-web.xml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
default-web.xml

server.policy
wss-server-config-1.0.xml
wss-server-config-2.0.xml

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For default-web.xml, copy it over but put in the changes we need.

Either update to put Payara in a /usr/local/payara7 dir or perhaps drop to just /usr/local/payara (at QDR /usr/local/payara is a symbolic link so we can change versions easily)
Any reference to payara6 has to change, e.g. if counter-processor is deployed, the paths in counter-processor-config.yaml and counter_daily.sh have to be updated.

Copy the following files from the distributed domain.xml version to your domain. I don't know if all of these are required but we don't edit these by default and they have changed over time.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to self, we'll be copying the old domain1 directory, like we did at #11827 and https://github.com/IQSS/dataverse/releases/tag/v6.9

<jacc-provider policy-provider="org.glassfish.exousia.modules.def.DefaultPolicy" name="default" policy-configuration-factory-provider="org.glassfish.exousia.modules.def.DefaultPolicyConfigurationFactory"></jacc-provider>

2) Add the jvm option:
<jvm-options>-Djakarta.security.jacc.PolicyFactory.provider=org.glassfish.exousia.modules.def.DefaultPolicyFactory</jvm-options>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Djakarta.security.jacc.policy.provider=org.glassfish.exousia.modules.def.DefaultPolicy should also be added. These are both in the .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY26 Sprint 15 FY26 Sprint 15 (2026-01-14 - 2026-01-28) FY26 Sprint 16 FY26 Sprint 16 (2026-01-28 - 2026-02-11) FY26 Sprint 17 FY26 Sprint 17 (2026-02-11 - 2026-02-25) Size: 10 A percentage of a sprint. 7 hours.

Projects

Status: In Review 🔎

Development

Successfully merging this pull request may close these issues.

Payara 6 community edition has reached its End Of Life bump to OpenJDK 21

6 participants