-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Hi,
I think we're almost making DCM work. The steps to follow
are being performed correctly:
- Obtaining the upload script through the Dataverse API
- Upload data set files to /deposit
- Move files to /hold
But we are having a problem. After moving files to /hold.
the post_upload.bash script makes a request to the Dataverse API to inform
successful in receiving the files. However, the Dataverse is returning an error.
# source /opt/dcm/scn/post_upload.bash
post_upload starting at Thu Sep 10 19:33:23 -03 2020
/deposit/WZGANH/WZGANH/files.sha : /deposit/WZGANH/WZGANH : WZGANH : WZGANH
checksums verified
data moved
ERROR: dataverse at https://xxxxxxxxxxx had a problem handling the DCM success API call
{"status":"ERROR","code":500,"message":"Internal server error. More details available at the server logs.","incidentId":"284d10d6-1101-47da-be9e-9bde74cf3828"}
will retry in 60 seconds
ERROR: retry failed, will need to handle manually
post_upload completed at Thu Sep 10 19:34:59 -03 2020
In the Dataverse log
[2020-09-10T19:33:59.309-0300] [glassfish 4.1] [SEVERE] [] [edu.harvard.iq.dataverse.api.errorhandlers.ServeletExceptionHandler] [tid: _ThreadID=52 _ThreadName=jk-connector(3)] [timeMillis: 1599777239309] [levelValue: 1000] [[
API internal error 284d10d6-1101-47da-be9e-9bde74cf3828: Null Pointer
java.lang.NullPointerException
at edu.harvard.iq.dataverse.api.Datasets.receiveChecksumValidationResults(Datasets.java:1351)
In the source code of Dataverse version 4.20 (edu.harvard.iq.dataverse.api.Datasets)
1346 String storageDriver = dataset.getDataverseContext().getEffectiveStorageDriverId();
1347 String uploadFolder = jsonFromDcm.getString("uploadFolder");
1348 int totalSize = jsonFromDcm.getInt("totalSize");
1349 String storageDriverType = System.getProperty("dataverse.file." + storageDriver + ".type");
1350
1351 if (storageDriverType.equals("file")) {
1352 logger.log(Level.INFO, "File storage driver used for (dataset id={0})", dataset.getId());
Apparently the property "dataverse.file." + storageDriver + ".type" is not defined.
We would like to know how in configuration we can define the appropriate values for
this property so that the request to Dataverse API can be handled correctly.
We noticed that the properties related to the upload folder start with "dataverse.files" and not "dataverse.file".
Thanks for any help.