From 87d35616270a3e1ceb1e8cd76037bf52e19f22fe Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 5 Apr 2016 09:56:49 +0000 Subject: [PATCH] SSDM-3412: Forward porting from stage r36047 (SSDM-3397: adding log for data set failed in sanity check of multi data set archiving.) and r36048 (SSDM-3397: throw IllegalArgumentException if children path infos are Null.) SVN: 36081 --- .../plugins/standard/archiver/MultiDataSetArchiver.java | 4 ++++ .../content/PathInfoProviderBasedHierarchicalContent.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/MultiDataSetArchiver.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/MultiDataSetArchiver.java index af56d49e146..ce415c61437 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/MultiDataSetArchiver.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/MultiDataSetArchiver.java @@ -409,6 +409,10 @@ public class MultiDataSetArchiver extends AbstractArchiverProcessingPlugin { throw new RuntimeException(status.tryGetErrorMessage()); } + } catch (RuntimeException ex) + { + operationLog.error("Sanity check for data set " + dataSetCode + " failed: " + ex); + throw ex; } finally { if (content != null) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContent.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContent.java index af85441030f..db35117fbe9 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContent.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContent.java @@ -245,6 +245,10 @@ public class PathInfoProviderBasedHierarchicalContent implements IHierarchicalCo { List<DataSetPathInfo> pathInfos = dataSetPathInfoProvider.listChildrenPathInfos(pathInfo); + if (pathInfos == null) + { + throw new IllegalArgumentException("No children path infos for " + pathInfo.getRelativePath()); + } List<IHierarchicalContentNode> result = new ArrayList<IHierarchicalContentNode>(); for (DataSetPathInfo child : pathInfos) { -- GitLab