diff --git a/doc/release-notes/11827-Payara-6.2025.10.md b/doc/release-notes/11827-Payara-6.2025.10.md new file mode 100644 index 00000000000..271b7dbb5ea --- /dev/null +++ b/doc/release-notes/11827-Payara-6.2025.10.md @@ -0,0 +1,16 @@ +The recommended Payara version has been updated to Payara-6.2025.10 + +Payara 6.2025.10 cannot be used with earlier versions of Dataverse, e.g. v6.8. + +Standard Payara upgrade instructions - as in the 6.7 release notes should be added, +but we should assure the instructions don't have you trying to run 6.8 with the latest Payara +and perhaps should explicitly note that you can't. + +We should also change the 'standard' language related to Payara updates to include copying the +*.p12 files from the distributed domain1/config directory into the Dataverse domain1/config directory, +at least if/when they are different. Those files include base certs and over time using the old files +can cause SSL errors. If the domain.xml file is old enough, it may also reference *.jks files instead +of the *.p12 ones. That should also be fixed (domain.xml having those lines updated to reference *.p12 files). +FWIW: I ran across this at TDL where a dev machine stopped being able to contact DataCite because the root +cert used by DataCite today is not in the *.jks files that had been copied forward during Payara updates.) + diff --git a/doc/sphinx-guides/source/developers/classic-dev-env.rst b/doc/sphinx-guides/source/developers/classic-dev-env.rst index d1f54fd9d5f..5dc68325767 100755 --- a/doc/sphinx-guides/source/developers/classic-dev-env.rst +++ b/doc/sphinx-guides/source/developers/classic-dev-env.rst @@ -93,15 +93,15 @@ On Linux, install ``jq`` from your package manager or download a binary from htt Install Payara ~~~~~~~~~~~~~~ -Payara 6.2025.3 or higher is required. +Payara 6.2025.10 or higher is required. To install Payara, run the following commands: ``cd /usr/local`` -``sudo curl -O -L https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.3/payara-6.2025.3.zip`` +``sudo curl -O -L https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.10/payara-6.2025.10.zip`` -``sudo unzip payara-6.2025.3.zip`` +``sudo unzip payara-6.2025.10.zip`` ``sudo chown -R $USER /usr/local/payara6`` diff --git a/doc/sphinx-guides/source/installation/prerequisites.rst b/doc/sphinx-guides/source/installation/prerequisites.rst index a5aacc4701c..70a1c618fe5 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 17 the default with the ``alternatives`` co Payara ------ -Payara 6.2025.3 is recommended. Newer versions might work fine. Regular updates are recommended. +Payara 6.2025.10 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/payara6`` in the example commands below):: - # wget https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.3/payara-6.2025.3.zip - # unzip payara-6.2025.3.zip + # wget https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.10/payara-6.2025.10.zip + # unzip payara-6.2025.10.zip # mv payara6 /usr/local If nexus.payara.fish is ever down for maintenance, Payara distributions are also available from https://repo1.maven.org/maven2/fish/payara/distributions/payara/ diff --git a/doc/sphinx-guides/source/qa/test-automation.md b/doc/sphinx-guides/source/qa/test-automation.md index fa995bcaafd..a9f40a7dab2 100644 --- a/doc/sphinx-guides/source/qa/test-automation.md +++ b/doc/sphinx-guides/source/qa/test-automation.md @@ -52,7 +52,7 @@ Go to the end of the log and then scroll up, looking for the failure. A failed A ``` TASK [dataverse : download payara zip] ***************************************** -fatal: [localhost]: FAILED! => {"changed": false, "dest": "/tmp/payara.zip", "elapsed": 10, "msg": "Request failed: ", "url": "https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.3/payara-6.2025.3.zip"} +fatal: [localhost]: FAILED! => {"changed": false, "dest": "/tmp/payara.zip", "elapsed": 10, "msg": "Request failed: ", "url": "https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/6.2025.10/payara-6.2025.10.zip"} ``` In the example above, if Payara can't be downloaded, we're obviously going to have problems deploying Dataverse to it! diff --git a/modules/dataverse-parent/pom.xml b/modules/dataverse-parent/pom.xml index d61e2eff795..398d40ee5be 100644 --- a/modules/dataverse-parent/pom.xml +++ b/modules/dataverse-parent/pom.xml @@ -149,7 +149,7 @@ -Duser.timezone=${project.timezone} -Dfile.encoding=${project.build.sourceEncoding} -Duser.language=${project.language} -Duser.region=${project.region} - 6.2025.3 + 6.2025.10 42.7.7 9.8.0 2.33.0 diff --git a/pom.xml b/pom.xml index a9d0bb0b26b..779136f09eb 100644 --- a/pom.xml +++ b/pom.xml @@ -834,6 +834,10 @@ *.properties **/*.properties + + **/jakarta.mime.types **/mime.types **/*.R diff --git a/src/main/java/META-INF/jakarta.mime.types b/src/main/java/META-INF/jakarta.mime.types new file mode 100644 index 00000000000..7e11a630e78 --- /dev/null +++ b/src/main/java/META-INF/jakarta.mime.types @@ -0,0 +1,42 @@ +# Common document formats +application/pdf pdf PDF +application/msword doc DOC +application/vnd.ms-excel xls XLS xlc XLC xll XLL xlm XLM xlw XLW +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx XLSX +text/comma-separated-values csv CSV +text/plain txt TXT +text/xml xml XML +# Common statistical data formats +text/tsv tab TAB tsv TSV +text/x-fixed-field dat DAT asc ASC +application/x-rlang-transport Rdata RData rdata RDATA +type/x-r-syntax r R +application/x-stata dta DTA +text/x-stata-syntax do DO +application/x-spss-sav sav SAV +application/x-spss-por por POR +text/x-spss-syntax sps SPS +application/x-sas-transport xpt XPT cport CPORT v5x V5X v6x V6X v7x V7X +application/x-sas-system sas7bdat SAS7BDAT sd1 SD1 sd2 SD2 sd7 SD7 ssd01 SSD01 ssd SSD ssd04 SSD04 +text/x-sas-syntax sas SAS +# Common image formats +image/gif gif GIF +image/jpeg jpeg JPEG jpg JPG jpe JPE +image/bmp bmp BMP +image/x-portable-bitmap pbm PBM +image/x-portable-graymap pgm PGM +image/png png PNG +image/x-portable-anymap pnm PNM +image/x-portable-pixmap ppm PPM +image/cmu-raster ras RAS +image/x-rgb rgb RGB +image/tiff tif TIF tiff TIFF +image/x-xbitmap xbm XBM +image/x-xpixmap xpm XPM +image/x-xwindowdump xwd XWD +# Common archive formats +application/zip zip ZIP +application/x-gzip gz GZ +application/x-tar tar TAR +# Rdata +application/octet-stream \ No newline at end of file diff --git a/src/main/java/META-INF/mime.types b/src/main/java/META-INF/mime.types index 7e11a630e78..6f8aaec6d25 100644 --- a/src/main/java/META-INF/mime.types +++ b/src/main/java/META-INF/mime.types @@ -1,42 +1,43 @@ -# Common document formats -application/pdf pdf PDF -application/msword doc DOC -application/vnd.ms-excel xls XLS xlc XLC xll XLL xlm XLM xlw XLW -application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx XLSX -text/comma-separated-values csv CSV -text/plain txt TXT -text/xml xml XML -# Common statistical data formats -text/tsv tab TAB tsv TSV -text/x-fixed-field dat DAT asc ASC -application/x-rlang-transport Rdata RData rdata RDATA -type/x-r-syntax r R -application/x-stata dta DTA -text/x-stata-syntax do DO -application/x-spss-sav sav SAV -application/x-spss-por por POR -text/x-spss-syntax sps SPS -application/x-sas-transport xpt XPT cport CPORT v5x V5X v6x V6X v7x V7X -application/x-sas-system sas7bdat SAS7BDAT sd1 SD1 sd2 SD2 sd7 SD7 ssd01 SSD01 ssd SSD ssd04 SSD04 -text/x-sas-syntax sas SAS -# Common image formats -image/gif gif GIF -image/jpeg jpeg JPEG jpg JPG jpe JPE -image/bmp bmp BMP -image/x-portable-bitmap pbm PBM -image/x-portable-graymap pgm PGM -image/png png PNG -image/x-portable-anymap pnm PNM -image/x-portable-pixmap ppm PPM -image/cmu-raster ras RAS -image/x-rgb rgb RGB -image/tiff tif TIF tiff TIFF -image/x-xbitmap xbm XBM -image/x-xpixmap xpm XPM -image/x-xwindowdump xwd XWD -# Common archive formats -application/zip zip ZIP -application/x-gzip gz GZ -application/x-tar tar TAR -# Rdata +# mime.types is a copy of jakarta.mime.types which only used in unit tests (specifically FileUtilTest.testGZipFile) +# Common document formats +application/pdf pdf PDF +application/msword doc DOC +application/vnd.ms-excel xls XLS xlc XLC xll XLL xlm XLM xlw XLW +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx XLSX +text/comma-separated-values csv CSV +text/plain txt TXT +text/xml xml XML +# Common statistical data formats +text/tsv tab TAB tsv TSV +text/x-fixed-field dat DAT asc ASC +application/x-rlang-transport Rdata RData rdata RDATA +type/x-r-syntax r R +application/x-stata dta DTA +text/x-stata-syntax do DO +application/x-spss-sav sav SAV +application/x-spss-por por POR +text/x-spss-syntax sps SPS +application/x-sas-transport xpt XPT cport CPORT v5x V5X v6x V6X v7x V7X +application/x-sas-system sas7bdat SAS7BDAT sd1 SD1 sd2 SD2 sd7 SD7 ssd01 SSD01 ssd SSD ssd04 SSD04 +text/x-sas-syntax sas SAS +# Common image formats +image/gif gif GIF +image/jpeg jpeg JPEG jpg JPG jpe JPE +image/bmp bmp BMP +image/x-portable-bitmap pbm PBM +image/x-portable-graymap pgm PGM +image/png png PNG +image/x-portable-anymap pnm PNM +image/x-portable-pixmap ppm PPM +image/cmu-raster ras RAS +image/x-rgb rgb RGB +image/tiff tif TIF tiff TIFF +image/x-xbitmap xbm XBM +image/x-xpixmap xpm XPM +image/x-xwindowdump xwd XWD +# Common archive formats +application/zip zip ZIP +application/x-gzip gz GZ +application/x-tar tar TAR +# Rdata application/octet-stream \ No newline at end of file diff --git a/src/main/java/edu/harvard/iq/dataverse/GuestbookResponse.java b/src/main/java/edu/harvard/iq/dataverse/GuestbookResponse.java index 830c7740e34..ee444198654 100644 --- a/src/main/java/edu/harvard/iq/dataverse/GuestbookResponse.java +++ b/src/main/java/edu/harvard/iq/dataverse/GuestbookResponse.java @@ -26,13 +26,6 @@ * * @author skraffmiller */ -@NamedStoredProcedureQuery( - name = "GuestbookResponse.estimateGuestBookResponseTableSize", - procedureName = "estimateGuestBookResponseTableSize", - parameters = { - @StoredProcedureParameter(mode = ParameterMode.OUT, type = Long.class) - } -) @Entity @Table(indexes = { @Index(columnList = "guestbook_id"), diff --git a/src/main/java/edu/harvard/iq/dataverse/GuestbookResponseServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/GuestbookResponseServiceBean.java index 6c043b78941..a49845ce834 100644 --- a/src/main/java/edu/harvard/iq/dataverse/GuestbookResponseServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/GuestbookResponseServiceBean.java @@ -951,16 +951,12 @@ public Long getTotalDownloadCount() { // somehow. -- L.A. 5.6 - try { - StoredProcedureQuery query = this.em.createNamedStoredProcedureQuery("GuestbookResponse.estimateGuestBookResponseTableSize"); - query.execute(); - Long totalCount = (Long) query.getOutputParameterValue(1); - - if (totalCount != null) { - return totalCount; - } - } catch (IllegalArgumentException iae) { - // Don't do anything, we'll fall back to using "SELECT COUNT()" + // In GuestbookResponseServiceBean.java + try { + Query query = em.createNativeQuery("SELECT estimateGuestBookResponseTableSize()"); + return ((Number) query.getSingleResult()).longValue(); + } catch (Exception e) { + // Fall back to using "SELECT COUNT()" } Query query = em.createNativeQuery("select count(o.id) from GuestbookResponse o where eventtype != '" + GuestbookResponse.ACCESS_REQUEST +"';"); return (Long) query.getSingleResult();