Skip to content
Snippets Groups Projects
Commit 5083c1ae authored by felmer's avatar felmer
Browse files

BIS-183 shuffling a data set which doesn't exist in the store will be logged...

BIS-183 shuffling a data set which doesn't exist in the store will be logged but doesn't stops shuffling the next data set.

SVN: 26603
parent f687b524
No related branches found
No related tags found
No related merge requests found
......@@ -142,7 +142,7 @@ public class SimpleShuffling implements ISegmentedStoreShuffling
taskExecutor.execute(shufflingTask, "shuffling", dataSet.getDataSetCode(), false);
} catch (Throwable ex)
{
throw CheckedExceptionTunnel.wrapIfNecessary(ex);
// ignore because it has already been logged. Try the next data set.
}
}
}
......
......@@ -232,26 +232,33 @@ public class EagerShufflingTask extends AbstractPostRegistrationTask
{
if (shareWithMostFreeOrNull != null)
{
long freeSpaceBefore = shareWithMostFreeOrNull.calculateFreeSpace();
File share = new File(storeRoot, shareIdManager.getShareId(dataSetCode));
dataSetMover.moveDataSetToAnotherShare(
new File(share, dataSet.getDataSetLocation()),
shareWithMostFreeOrNull.getShare(), getChecksumProvider(), logger);
String shareId = shareWithMostFreeOrNull.getShareId();
logger.log(LogLevel.INFO, "Data set " + dataSetCode
+ " successfully moved from share " + dataSet.getDataSetShareId() + " to "
+ shareId + ".");
long freeSpaceAfter = shareWithMostFreeOrNull.calculateFreeSpace();
if (freeSpaceBefore > freeSpaceLimitTriggeringNotification
&& freeSpaceAfter < freeSpaceLimitTriggeringNotification)
try
{
notifyer.log(
LogLevel.WARN,
"After moving data set " + dataSetCode + " to share " + shareId
+ " that share has only "
+ FileUtilities.byteCountToDisplaySize(freeSpaceAfter)
+ " free space. It might be necessary to add a new share.");
long freeSpaceBefore = shareWithMostFreeOrNull.calculateFreeSpace();
File share = new File(storeRoot, shareIdManager.getShareId(dataSetCode));
dataSetMover.moveDataSetToAnotherShare(
new File(share, dataSet.getDataSetLocation()),
shareWithMostFreeOrNull.getShare(), getChecksumProvider(), logger);
String shareId = shareWithMostFreeOrNull.getShareId();
logger.log(LogLevel.INFO, "Data set " + dataSetCode
+ " successfully moved from share " + dataSet.getDataSetShareId()
+ " to " + shareId + ".");
long freeSpaceAfter = shareWithMostFreeOrNull.calculateFreeSpace();
if (freeSpaceBefore > freeSpaceLimitTriggeringNotification
&& freeSpaceAfter < freeSpaceLimitTriggeringNotification)
{
notifyer.log(
LogLevel.WARN,
"After moving data set " + dataSetCode + " to share " + shareId
+ " that share has only "
+ FileUtilities.byteCountToDisplaySize(freeSpaceAfter)
+ " free space. It might be necessary to add a new share.");
}
} catch (Throwable t)
{
logger.log(LogLevel.ERROR, "Couldn't move data set " + dataSetCode
+ " to share " + shareWithMostFreeOrNull.getShareId() + ".", t);
}
}
}
......
......@@ -250,6 +250,12 @@ public class SegmentedStoreUtils
IEncapsulatedOpenBISService service, final IShareIdManager shareIdManager,
IChecksumProvider checksumProvider, final ISimpleLogger logger)
{
if (FileOperations.getMonitoredInstanceForCurrentThread().exists(dataSetDirInStore) == false)
{
logger.log(LogLevel.ERROR, "Data set '" + dataSetDirInStore
+ "' no longer exist in the data store.");
return;
}
final String dataSetCode = dataSetDirInStore.getName();
ExternalData dataSet = service.tryGetDataSet(dataSetCode);
if (dataSet == null)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment