From 698ae74aa9f661cd95c171244745eb2a89c75f67 Mon Sep 17 00:00:00 2001 From: kaloyane <kaloyane> Date: Tue, 25 Oct 2011 09:06:00 +0000 Subject: [PATCH] - add logging when deletion of staging dir/marker file fails. - log an error when the rollback of a MkdirsCommand and NewFileCommand fails to delete the underlying file SVN: 23407 --- .../registrator/DataSetStorageAlgorithm.java | 9 +++++++++ .../registrator/api/v1/impl/MkdirsCommand.java | 11 +++++++++++ .../registrator/api/v1/impl/NewFileCommand.java | 12 ++++++++++++ 3 files changed, 32 insertions(+) diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithm.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithm.java index 8b5f8081d21..aea643a8405 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithm.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithm.java @@ -538,6 +538,10 @@ public class DataSetStorageAlgorithm<T extends DataSetInformation> private void cleanUpMarkerFile() { getFileOperations().delete(markerFile); + if (markerFile.exists()) + { + operationLog.error("Marker file '" + markerFile + "' could not be deleted."); + } } } @@ -557,6 +561,11 @@ public class DataSetStorageAlgorithm<T extends DataSetInformation> private void cleanUpStagingDirectory() { getFileOperations().delete(stagingDirectory); + if (stagingDirectory.exists()) + { + operationLog.error("Staging directory '" + stagingDirectory + + "' could not be deleted."); + } } } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/MkdirsCommand.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/MkdirsCommand.java index 762979ba0e3..31f89f96a6a 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/MkdirsCommand.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/MkdirsCommand.java @@ -18,8 +18,12 @@ package ch.systemsx.cisd.etlserver.registrator.api.v1.impl; import java.io.File; +import org.apache.log4j.Logger; + import ch.systemsx.cisd.common.filesystem.FileOperations; import ch.systemsx.cisd.common.filesystem.IFileOperations; +import ch.systemsx.cisd.common.logging.LogCategory; +import ch.systemsx.cisd.common.logging.LogFactory; /** * Creates a directory and all necessary intermediate dirctories. @@ -30,6 +34,9 @@ public class MkdirsCommand extends AbstractTransactionalCommand { private static final long serialVersionUID = 1L; + private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, + MkdirsCommand.class); + private final String directoryAbsoutePath; public MkdirsCommand(String directoryAbsoutePath) @@ -58,6 +65,10 @@ public class MkdirsCommand extends AbstractTransactionalCommand IFileOperations fileOperations = FileOperations.getMonitoredInstanceForCurrentThread(); fileOperations.delete(src); + if (src.exists()) + { + operationLog.error("Could not delete directory '" + src + "'."); + } } @Override diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/NewFileCommand.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/NewFileCommand.java index 1095c407a34..6949c02ee45 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/NewFileCommand.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/NewFileCommand.java @@ -18,8 +18,12 @@ package ch.systemsx.cisd.etlserver.registrator.api.v1.impl; import java.io.File; +import org.apache.log4j.Logger; + import ch.systemsx.cisd.common.filesystem.FileOperations; import ch.systemsx.cisd.common.filesystem.IFileOperations; +import ch.systemsx.cisd.common.logging.LogCategory; +import ch.systemsx.cisd.common.logging.LogFactory; /** * Creates a directory and all necessary intermediate dirctories. @@ -30,6 +34,9 @@ public class NewFileCommand extends AbstractTransactionalCommand { private static final long serialVersionUID = 1L; + private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, + NewFileCommand.class); + private final String fileAbsolutePath; public NewFileCommand(String directoryAbsoutePath) @@ -58,6 +65,11 @@ public class NewFileCommand extends AbstractTransactionalCommand IFileOperations fileOperations = FileOperations.getMonitoredInstanceForCurrentThread(); fileOperations.delete(src); + if (src.exists()) + { + operationLog.error("Could not delete file '" + src + "'."); + } + } @Override -- GitLab