Overview:
v4.2.2 is focused on improving performance of the Dataverse page and Files facet. Additionally, several important support issues were addressed.
For more information see the <a href=https://github.com/IQSS/dataverse/milestones?state=closed>project milestone notes and <a href=https://github.com/IQSS/dataverse/issues?q=milestone%3A%224.2.2+Performance+patch%22+is%3Aclosedd>individual issues
Installation:
Please see our Installation Guide
Upgrades:
If upgrading from v3.6.2 or earlier, please contact us at support@dataverse.org since this requires considerable planning and effort.
If upgrading from v4.x, you will need to follow the upgrade instructions for each intermediate version.
Please note that tabular data tags are indexed in v4.2.2 and that requires a new Solr schema and a complete reindex (see below, under the "post-deployment tasks").
For upgrading from the previous version, v4.2.1 to v4.2.2 do the folllowing:
undeploy the current application:
/glassfish4/bin/asadmin undeploy dataverse-4.2.1
update the solr schema.xml file:
stop solr
remove current schema.xml
replace with the 4.2.2 schema.xml file provided
start solr
deploy the new war file:
/glassfish4/bin/asadmin deploy dataverse-4.2.2.war
run the upgrade psql script provided: upgrade_v4.2.1_to_v4.2.2.sql
restart glassfish
Post-deployment tasks:
1. Reindex Solr
This is a non destructive reindex and can be done while the application is serving users. First clear index time from the dvobject table, by executing the following SQL query:
update dvobject set indextime=null;
Then from the web server console run:
curl -X GET "http://localhost:8080/api/admin/index/continue?numPartitions=1&partitionIdToProcess=0"
Alternatively, if you don’t mind doing a destructive reindex, clear the current index:
curl -X GET “http://localhost:8080/api/admin/index/clear"
Then do an index all:
curl -X GET "http://localhost:8080/api/admin/index"
Where 8080 is the port where Glassfish is running.
2. The following shell script needs to be run in your files directory:
(the script simply renames any legacy "saved original files", with the filenames like _filename, as filename.orig)
#!/bin/sh
find . -type f | while read file
do
origfile=`echo $file | sed 's:[^/]*$:_&:'`
if [ -f "$origfile" ]
then
/bin/mv -f $origfile $file".orig"
fi
done
("files directory" is where the Dataverse application is storing physical data files. It is specified as
<jvm-options>-Ddataverse.files.directory=...</jvm-options>
in your domain.xml configuration file)