diff --git a/conf/docker-aio/0prep_deps.sh b/conf/docker-aio/0prep_deps.sh
index 5bf44bfbe82..c26492b2d25 100755
--- a/conf/docker-aio/0prep_deps.sh
+++ b/conf/docker-aio/0prep_deps.sh
@@ -4,10 +4,10 @@ if [ ! -d dv/deps ]; then
fi
wdir=`pwd`
-if [ ! -e dv/deps/payara-5.2020.6.zip ]; then
+if [ ! -e dv/deps/payara-5.2021.4.zip ]; then
echo "payara dependency prep"
# no more fiddly patching :)
- wget https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2020.6/payara-5.2020.6.zip -O dv/deps/payara-5.2020.6.zip
+ wget https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2021.4/payara-5.2021.4.zip -O dv/deps/payara-5.2021.4.zip
fi
if [ ! -e dv/deps/solr-8.8.1dv.tgz ]; then
diff --git a/conf/docker-aio/c8.dockerfile b/conf/docker-aio/c8.dockerfile
index 72643d0e566..4fe12201fc3 100644
--- a/conf/docker-aio/c8.dockerfile
+++ b/conf/docker-aio/c8.dockerfile
@@ -23,7 +23,7 @@ COPY disableipv6.conf /etc/sysctl.d/
RUN rm /etc/httpd/conf/*
COPY httpd.conf /etc/httpd/conf
RUN cd /opt ; tar zxf /tmp/dv/deps/solr-8.8.1dv.tgz
-RUN cd /opt ; unzip /tmp/dv/deps/payara-5.2020.6.zip ; ln -s /opt/payara5 /opt/glassfish4
+RUN cd /opt ; unzip /tmp/dv/deps/payara-5.2021.4.zip ; ln -s /opt/payara5 /opt/glassfish4
# this copy of domain.xml is the result of running `asadmin set server.monitoring-service.module-monitoring-levels.jvm=LOW` on a default glassfish installation (aka - enable the glassfish REST monitir endpoint for the jvm`
# this dies under Java 11, do we keep it?
diff --git a/doc/release-notes/7700-upgrade-payara.md b/doc/release-notes/7700-upgrade-payara.md
new file mode 100644
index 00000000000..de7c58bf963
--- /dev/null
+++ b/doc/release-notes/7700-upgrade-payara.md
@@ -0,0 +1,19 @@
+### Payara 5.2021.4 (or Higher) Required
+
+Some changes in this release require an upgrade to Payara 5.2021.4 or higher.
+
+Instructions on how to update can be found in the
+[Payara documentation](https://docs.payara.fish/community/docs/5.2021.4/documentation/user-guides/upgrade-payara.html)
+
+It would likely be safer to upgrade Payara first, while still running Dataverse 5.6, and then proceed with the steps
+below. Upgrading from an earlier version of Payara should be a straightforward process:
+
+1. Undeploy Dataverse
+2. Stop Payara
+3. Move the current Payara directory out of the way
+4. Unzip the new Payara version in its place
+5. Replace the brand new payara/glassfish/domains/domain1 with your old, preserved `domain1`
+6. Start Payara, deploy Dataverse 5.6.
+
+We still recommend that you read the detailed upgrade instructions above and if you run into any issues with this
+upgrade, it will help to be able to separate them from any problems with the upgrade of Dataverse proper.
diff --git a/doc/sphinx-guides/source/developers/dev-environment.rst b/doc/sphinx-guides/source/developers/dev-environment.rst
index ed1849e6059..41e986c0ea3 100755
--- a/doc/sphinx-guides/source/developers/dev-environment.rst
+++ b/doc/sphinx-guides/source/developers/dev-environment.rst
@@ -85,9 +85,9 @@ To install Payara, run the following commands:
``cd /usr/local``
-``sudo curl -O -L https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2020.6/payara-5.2020.6.zip``
+``sudo curl -O -L https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2021.4/payara-5.2021.4.zip``
-``sudo unzip payara-5.2020.6.zip``
+``sudo unzip payara-5.2021.4.zip``
``sudo chown -R $USER /usr/local/payara5``
diff --git a/doc/sphinx-guides/source/installation/prerequisites.rst b/doc/sphinx-guides/source/installation/prerequisites.rst
index f0f7fab3511..4f04024607f 100644
--- a/doc/sphinx-guides/source/installation/prerequisites.rst
+++ b/doc/sphinx-guides/source/installation/prerequisites.rst
@@ -44,7 +44,7 @@ On RHEL/derivative you can make Java 11 the default with the ``alternatives`` co
Payara
------
-Payara 5.2020.6 is recommended. Newer versions might work fine, regular updates are recommended.
+Payara 5.2021.4 is recommended. Newer versions might work fine, regular updates are recommended.
Installing Payara
=================
@@ -55,8 +55,8 @@ Installing Payara
- Download and install Payara (installed in ``/usr/local/payara5`` in the example commands below)::
- # wget https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2020.6/payara-5.2020.6.zip
- # unzip payara-5.2020.6.zip
+ # wget https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2021.4/payara-5.2021.4.zip
+ # unzip payara-5.2021.4.zip
# mv payara5 /usr/local
If you intend to install and run Payara under a service account (and we hope you do), chown -R the Payara hierarchy to root to protect it but give the service account access to the below directories:
diff --git a/downloads/download.sh b/downloads/download.sh
index 8c2b51dd4c7..c9cd2942295 100755
--- a/downloads/download.sh
+++ b/downloads/download.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-curl -L -O https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2020.6/payara-5.2020.6.zip
+curl -L -O https://s3-eu-west-1.amazonaws.com/payara.fish/Payara+Downloads/5.2021.4/payara-5.2021.4.zip
curl -L -O https://archive.apache.org/dist/lucene/solr/8.8.1/solr-8.8.1.tgz
curl -L -O https://search.maven.org/remotecontent?filepath=org/jboss/weld/weld-osgi-bundle/2.2.10.Final/weld-osgi-bundle-2.2.10.Final-glassfish4.jar
curl -s -L http://sourceforge.net/projects/schemaspy/files/schemaspy/SchemaSpy%205.0.0/schemaSpy_5.0.0.jar/download > schemaSpy_5.0.0.jar
diff --git a/pom.xml b/pom.xml
index ca2d3570956..0eb489b4c15 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
false
8.0.0
- 5.2020.6
+ 5.2021.4
42.2.19
1.11.762
1.2
@@ -59,6 +59,18 @@
+
+ payara-nexus-artifacts
+ Payara Nexus Artifacts
+ https://nexus.payara.fish/repository/payara-artifacts
+
+ true
+
+
+ false
+
+
+
payara-patched-externals
Payara Patched Externals
diff --git a/scripts/vagrant/setup.sh b/scripts/vagrant/setup.sh
index 14f12cea692..fdce9210ef4 100644
--- a/scripts/vagrant/setup.sh
+++ b/scripts/vagrant/setup.sh
@@ -53,7 +53,7 @@ SOLR_USER=solr
echo "Ensuring Unix user '$SOLR_USER' exists"
useradd $SOLR_USER || :
DOWNLOAD_DIR='/dataverse/downloads'
-PAYARA_ZIP="$DOWNLOAD_DIR/payara-5.2020.6.zip"
+PAYARA_ZIP="$DOWNLOAD_DIR/payara-5.2021.4.zip"
SOLR_TGZ="$DOWNLOAD_DIR/solr-8.8.1.tgz"
if [ ! -f $PAYARA_ZIP ] || [ ! -f $SOLR_TGZ ]; then
echo "Couldn't find $PAYARA_ZIP or $SOLR_TGZ! Running download script...."
diff --git a/src/main/java/edu/harvard/iq/dataverse/util/DataSourceProducer.java b/src/main/java/edu/harvard/iq/dataverse/util/DataSourceProducer.java
index 02ba331cdd5..b393ca4a605 100644
--- a/src/main/java/edu/harvard/iq/dataverse/util/DataSourceProducer.java
+++ b/src/main/java/edu/harvard/iq/dataverse/util/DataSourceProducer.java
@@ -38,7 +38,7 @@
//})
//
// ... but at this time we don't think we need any. The full list
-// of properties can be found at https://docs.payara.fish/community/docs/5.2020.6/documentation/payara-server/jdbc/advanced-connection-pool-properties.html#full-list-of-properties
+// of properties can be found at https://docs.payara.fish/community/docs/5.2021.4/documentation/payara-server/jdbc/advanced-connection-pool-properties.html#full-list-of-properties
//
// All these properties cannot be configured via MPCONFIG as Payara doesn't support this (yet). To be enhanced.
// See also https://github.com/payara/Payara/issues/5024