diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/TopLevelDataSetRegistratorGlobalState.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/TopLevelDataSetRegistratorGlobalState.java index b2f548b1a8eec7133d6e0006f2496109b85a50d1..554d67ac1d02103caf33df6960bf600c774797b4 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/TopLevelDataSetRegistratorGlobalState.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/TopLevelDataSetRegistratorGlobalState.java @@ -61,6 +61,8 @@ public class TopLevelDataSetRegistratorGlobalState private final File preCommitDir; + private final File recoveryStateDir; + private final IEncapsulatedOpenBISService openBisService; private final IMailClient mailClient; @@ -142,17 +144,17 @@ public class TopLevelDataSetRegistratorGlobalState this.postRegistrationScriptOrNull = postRegistrationScriptOrNull; this.validationScriptsOrNull = validationScriptsOrNull; - File dropboxRecoveryStateDir = + this.recoveryStateDir = new File(dssRecoveryStateDir, threadParameters.getThreadName()); File recoveryMarkerFilesDirectory = new File(getRecoveryMarkerDir(storeRootDir, shareId, threadParameters.getThreadProperties()), threadParameters.getThreadName()); - dropboxRecoveryStateDir.mkdirs(); + this.recoveryStateDir.mkdirs(); recoveryMarkerFilesDirectory.mkdirs(); this.storageRecoveryManager = storageRecoveryManager; - this.storageRecoveryManager.setDropboxRecoveryStateDir(dropboxRecoveryStateDir); + this.storageRecoveryManager.setDropboxRecoveryStateDir(this.recoveryStateDir); this.storageRecoveryManager.setRecoveryMarkerFilesDir(recoveryMarkerFilesDirectory); this.storageRecoveryManager.setMaximumRertyCount(getMaximumRecoveryCount(threadParameters.getThreadProperties())); this.storageRecoveryManager.setRetryPeriodInSeconds(getMinimumRecoveryPeriod(threadParameters.getThreadProperties())); @@ -216,6 +218,11 @@ public class TopLevelDataSetRegistratorGlobalState return preCommitDir; } + public File getRecoveryStateDir() + { + return recoveryStateDir; + } + public IEncapsulatedOpenBISService getOpenBisService() { return openBisService; diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java index 007c498b724b7f0f561d1e9d8c0c0efd10d81f11..d259aa4d2790edf3932a4125f86233eda2ca781d 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java @@ -35,6 +35,7 @@ import ch.systemsx.cisd.etlserver.ITopLevelDataSetRegistratorDelegate; import ch.systemsx.cisd.etlserver.TopLevelDataSetRegistratorGlobalState; import ch.systemsx.cisd.etlserver.registrator.api.v1.SecondaryTransactionFailure; import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSetRegistrationTransaction; +import ch.systemsx.cisd.etlserver.registrator.monitor.DssRegistrationHealthMonitor; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; /** @@ -156,6 +157,8 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends path); } + DssRegistrationHealthMonitor.getInstance(globalState.getOpenBisService(), globalState.getRecoveryStateDir()); + } @Override