-
Notifications
You must be signed in to change notification settings - Fork 492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to Java 17 #9764
Upgrade to Java 17 #9764
Conversation
container/dev-usage.rst has not been updated because it will be handled in PR #9761.
During unit testing it occured that sometimes parts of paths are null (there was a missing mock for authority). Changing the code structure here to catch this anytime. This hard to track cause of trouble was revealed when running tests with JDK 17, because since JDK 16 all java.nio.file.Path may not contain null elements for the first component. See also: https://stackoverflow.com/questions/68791709
Get this test to pass: DataAccessTest#testCreateNewStorageIO_createsFileAccessIObyDefault
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
Whoops! We just talked about this during sprint planning and I gave it a 33 because of 4-5 tests failing but after a single tiny fix at 8de674b having to do with syntax for the upgraded REST Assured library that's part of this PR (by necessity to get it to run on Java 17), the API test suite is passing in multiple places now:
I'm putting this back into ready for QA. Please note that https://jenkins.dataverse.org/job/IQSS-Dataverse-Develop-PR/job/PR-9764/15/display/redirect (the regular PR job) is expected to fail because the job uses Java 11. This is why we (ok, @donsizemore ) set up the dedicated Java 17 Jenkins job above. |
Upload war file after unit test build as actions artifact
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
@kcondon if it's of interest, thanks to @poikilotherm in #9789 (merged into this PR), we are now uploading a war file built from PRs to GitHub Actions. To find the war file ( I find it easier to go directly to https://github.com/IQSS/dataverse/actions/workflows/maven_unit_test.yml and then pick the right branch for the PR. Either way will get you there. Note the file will be downloaded as |
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
Issues found:
{"status":"ERROR","message":"A dataset with the persistentId doi%3A10.70122/FK2/JAKDVW could not be found."} [2023-08-18T15:47:47.365+0000] [Payara 6.2023.8] [INFO] [] [edu.harvard.iq.dataverse.AbstractGlobalIdServiceBean] [tid: _ThreadID=97 _ThreadName=http-thread-pool::jk-connector(4)] [timeMillis: 1692373667365] [levelValue: 800] [[
|
📦 Pushed preview images as
🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name. |
1 similar comment
📦 Pushed preview images as
🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name. |
Given that none of the above issues are showstoppers specifically related to j17, we've decided to merge and look at the issues separately. See above for issue. |
What this PR does / why we need it:
Upgrade from Java 11 to 17
Which issue(s) this PR closes:
Special notes for your reviewer:
The biggest change (in terms of number of files) has to do with REST Assured. I had to upgrade it to get it working on Java 17. The upgrade required a namespace change so I had to fix all the classes that import REST Assured.
The following tests were failing...
... and I fixed the DatasetUtilTest failures by cherry picking 23cc3b5 and DataAccessTest by my setting the dataset authority in a mock (c1b57a1).
I've set up an API test running on the side at https://github.com/pdurbin/dataverse-api-test-runner/actions/workflows/java17.yml but I'd be happy to put this into the main code base.
Jenkins tests are failing until we switch Jenkins to Payara 6.
Suggestions on how to test this:
Test with Java 17
Does this PR introduce a user interface change? If mockups are available, please link/include them here:
No.
Is there a release notes update needed for this change?:
Included.
Additional documentation:
Included.