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 ...@@ -142,7 +142,7 @@ public class SimpleShuffling implements ISegmentedStoreShuffling
taskExecutor.execute(shufflingTask, "shuffling", dataSet.getDataSetCode(), false); taskExecutor.execute(shufflingTask, "shuffling", dataSet.getDataSetCode(), false);
} catch (Throwable ex) } 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 ...@@ -232,26 +232,33 @@ public class EagerShufflingTask extends AbstractPostRegistrationTask
{ {
if (shareWithMostFreeOrNull != null) if (shareWithMostFreeOrNull != null)
{ {
long freeSpaceBefore = shareWithMostFreeOrNull.calculateFreeSpace(); try
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( long freeSpaceBefore = shareWithMostFreeOrNull.calculateFreeSpace();
LogLevel.WARN, File share = new File(storeRoot, shareIdManager.getShareId(dataSetCode));
"After moving data set " + dataSetCode + " to share " + shareId dataSetMover.moveDataSetToAnotherShare(
+ " that share has only " new File(share, dataSet.getDataSetLocation()),
+ FileUtilities.byteCountToDisplaySize(freeSpaceAfter) shareWithMostFreeOrNull.getShare(), getChecksumProvider(), logger);
+ " free space. It might be necessary to add a new share.");
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 ...@@ -250,6 +250,12 @@ public class SegmentedStoreUtils
IEncapsulatedOpenBISService service, final IShareIdManager shareIdManager, IEncapsulatedOpenBISService service, final IShareIdManager shareIdManager,
IChecksumProvider checksumProvider, final ISimpleLogger logger) 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(); final String dataSetCode = dataSetDirInStore.getName();
ExternalData dataSet = service.tryGetDataSet(dataSetCode); ExternalData dataSet = service.tryGetDataSet(dataSetCode);
if (dataSet == null) 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