Skip to content
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

8305 Upgrade to Jakarta EE 10 and Payara 6 #9116

Closed
wants to merge 57 commits into from

Conversation

poikilotherm
Copy link
Contributor

What this PR does / why we need it:

Payara 5 is going EOL for community usage (= without a payed support contract). Payara 6 is the successor, but allows to use Jakarta EE 10 only.

Which issue(s) this PR closes:

Special notes for your reviewer:

  • Do not move this to QA until Payara 6.2022.1 is out and we can test with it.
  • Resolved upstream with Prettyfaces 6.0 Do not move this to QA until we've made a final decision to go with the Rewrite/PrettyFaces library I built on my Mac and put in local_lib. Check EE9 Compatible Release ocpsoft/rewrite#304 for progress toward a compatible release from upstream.
  • Instead of d86e220 should we preserve backward compatibility of the SWORD API by inserting attachment; for the user if it isn't supplied?
  • The Perl installer has not been updated. Honestly, @pdurbin and I are ok with deleting it (and references to it, of course, if any).
  • The release note snippet needs work. Upgrades have not been tested.

Suggestions on how to test this:

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?:

Yes, a stub is included.

Additional documentation:

None but references in the guides to Payara 5 have been switched to Payara 6.

poikilotherm and others added 30 commits May 17, 2022 19:44
1. The Jersey dependencies in use did not use the versions imported via the
Payara BOM (which itself imports a Jersey BOM).
2. The coordinates for the server package changed, re-aligned.
…nly #8305

This avoids potential trouble were it's unclear from where the higher exceptions come from, javax or jakarta namespace.
Also add provided dependency of our persistence provider to POM to allow class resolution in IDEs.
For now this is payara-6.2022.1.Alpha2 (the latest).
The jars were built from this commit (scratch work):

pdurbin/rewrite@d494160
Conflicts (just javax vs. jakarta imports):
src/main/java/edu/harvard/iq/dataverse/TemplatePage.java
#8305 Vagrantfile.payara6 deploys 8305-payara6 warfile on payara-6-A2
Also, in docker-aio, restore lines to publish root dataverse
collection (uses SWORD, known to be broken) and grant perms.

Also update scripts and config related to installer or dev environments.
Otherwise, at runtime, SWORD APIs fail (and who knows what else).

Note that CDI 4.0 is coming with Jakarta EE 10 and we'll need to switch
to "annotated" then.
In EditDDI I was seeing a NullPointerException on line 136
(createNewDraftVersion). Switch from `@Context HttpServletRequest`
to our ordinary way of API auth fixed it.

In DataversesIT I was seeing an OptimisticLockException so I
added a sleep.
Conflicts (all javax vs jakarata):
src/main/java/edu/harvard/iq/dataverse/EditDatafilesPage.java
src/main/java/edu/harvard/iq/dataverse/UserNotification.java
src/main/java/edu/harvard/iq/dataverse/UserNotificationServiceBean.java
src/main/java/edu/harvard/iq/dataverse/api/Notifications.java
src/main/java/edu/harvard/iq/dataverse/api/datadeposit/MediaResourceManagerImpl.java
src/main/java/edu/harvard/iq/dataverse/authorization/providers/builtin/DataverseUserPage.java
src/main/java/edu/harvard/iq/dataverse/authorization/users/AuthenticatedUser.java
src/main/java/edu/harvard/iq/dataverse/util/FileUtil.java
src/main/java/edu/harvard/iq/dataverse/util/json/JsonPrinter.java
src/test/java/edu/harvard/iq/dataverse/util/json/JsonPrinterTest.java
Note that we need to swap Payara 6.2022.1.Alpha2 for the final version.
@mreekie mreekie removed the Size: 210 A percentage of a sprint. 147 hours. label Jan 18, 2023
@mreekie
Copy link

mreekie commented Jan 18, 2023

Backlog grooming:

  • Removed the size
  • Added the label: bklog: Collection
  • I hope that this communicates more clearly that this has become a collection of 1 or more smaller issues that are being decomposed from this bigger issue.

@mreekie mreekie added the Size: Queued PM has called this issue out specifically for sizing label Jan 23, 2023
@mreekie
Copy link

mreekie commented Jan 23, 2023

sizing:

  • PM added to ordered sizing queue
  • Leave in the ordered sizing queue as we break off new pieces

@mreekie
Copy link

mreekie commented Feb 13, 2023

sizing:

  • PM added to ordered sizing queue
  • Leave in the ordered sizing queue as we break off new pieces

Phil has started keeping track of the work needed for this in Spike: Upgrade to Payara 6 and from EE 8 to EE 10 (end of Payara 5 Community Edition security patches Q2/2022) so this issue is no longer being used as described.

I've created a new temporary column Upgrade to "Jakarta EE 10 and Payara 6" and added this there.

@mreekie
Copy link

mreekie commented Apr 19, 2023

Sizing:
-To move this specific pull request forward a small bit, the next step is to resolve the conflicts. (pretty straightforward. a 3)
Separately we'll create a new issue to track the fixing of the issues that are triggered when this code is committed.

  • Get the API test suite to pass (hard. alot of uncertainty around what's broken. at least 33)

Notes
Context:
Prior to June

  • 5.14 released
    • Payara and solr upgrades are not in that.
  • 6.0 release
    • Payara, solr, java included in this.

Next steps:

  • meet to get the DV 6.0 release plan in writing.
  • meet to get more of the details specific to the Payara 6 upgrade thought out and in writting

@poikilotherm
Copy link
Contributor Author

poikilotherm commented Apr 19, 2023

Sizing: -To move this specific pull request forward a small bit, the next step is to resolve the conflicts. (pretty straightforward. a 3)

Please be aware that the last merge was not correctly executed! It is no easy task to merge this because of the Jakarta EE switch! This is at least a size 10 task, as the last merge needs to be reverted as well!

@scolapasta scolapasta added this to the 6.0 milestone May 15, 2023
@cmbz
Copy link

cmbz commented May 15, 2023

  • Prioritizing Payara 6 release
  • Sizing needed

@cmbz
Copy link

cmbz commented May 17, 2023

This appears to be a flawed PR.
Oliver will create a new PR and close this one.

@cmbz
Copy link

cmbz commented May 17, 2023

See related: #8305

@diego-guillen
Copy link

I'm trying to install the latest version of IQSS Dataverse, 5.13:

Dataverse 5.13 installation recommends Payara 5.2022.3, but it cannot be downloaded:

sudo wget https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2022.3/payara-5.2022.3.zip
Responds: ERROR 404: Not Found.

What can be done in this case?

@poikilotherm
Copy link
Contributor Author

@diego-guillen please see #9638. Your question is beyond scope for this PR 😉

@poikilotherm
Copy link
Contributor Author

I am going to close this pull request now, as we will operate on a new branch and a new pull request for the actual move for Payara 6 after the release of Dataverse 5.14. See #9685 for the successor PR.

@pdurbin pdurbin removed this from the 6.0 milestone Jul 17, 2023
@pdurbin pdurbin deleted the 8305-payara6-ee10 branch August 15, 2023 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Code Infrastructure formerly "Feature: Code Infrastructure" D: Payara 6 Upgrade Issues and PRs about the move to Jakarta EE 10 + Payara 6 Feature: Installation Guide Feature: Installer Size: Queued PM has called this issue out specifically for sizing
Projects
Status: No status
Status: Interesting/To keep an eye on
Development

Successfully merging this pull request may close these issues.

Upgrade to Payara 6 and from EE 8 to EE 10 (end of Payara 5 Community Edition security patches Q2/2022)
7 participants