From 46b4f33a5b22046cb15432da71a0cd6ace1c3ebb Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Fri, 7 Sep 2012 21:43:53 +0000 Subject: [PATCH] BIS-183 Ensure that SegmentedStoreUtils.getDataSetsPerShare() does not touch the datastore for every dataset. SVN: 26555 --- .../shared/utils/SegmentedStoreUtils.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java index 04f36f3a5ed..edcafb28c14 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java @@ -221,11 +221,12 @@ public class SegmentedStoreUtils + "."); } else { - File dataSetInStore = new File(share.getShare(), dataSet.getDataSetLocation()); - if (FileOperations.getMonitoredInstanceForCurrentThread() - .exists(dataSetInStore)) + if (dataSet.getDataSetSize() == null) { - if (dataSet.getDataSetSize() == null) + final File dataSetInStore = + new File(share.getShare(), dataSet.getDataSetLocation()); + if (FileOperations.getMonitoredInstanceForCurrentThread() + .exists(dataSetInStore)) { log.log(LogLevel.INFO, "Calculating size of " + dataSetInStore); long t0 = timeProvider.getTimeInMilliseconds(); @@ -236,12 +237,15 @@ public class SegmentedStoreUtils + " msec)"); service.updateShareIdAndSize(dataSetCode, shareId, size); dataSet.setDataSetSize(size); + } else + { + log.log(LogLevel.WARN, "Data set " + dataSetCode + + " no longer exists in share " + shareId + "."); } - share.addDataSet(dataSet); - } else + } + if (dataSet.getDataSetSize() != null) { - log.log(LogLevel.WARN, "Data set " + dataSetCode - + " no longer exists in share " + shareId + "."); + share.addDataSet(dataSet); } } } -- GitLab