boolean canHandle(DataSegment segment) { if (available() < segment.getSize()) { log.warn( "Segment[%s:%,d] too large for storage[%s:%,d]. Check your druid.segmentCache.locations maxSize param", segment.getId(), segment.getSize(), getPath(), available() ); return false; } if (freeSpaceToKeep > 0) { long currFreeSpace = path.getFreeSpace(); if ((freeSpaceToKeep + segment.getSize()) > currFreeSpace) { log.warn( "Segment[%s:%,d] too large for storage[%s:%,d] to maintain suggested freeSpace[%d], current freeSpace is [%d].", segment.getId(), segment.getSize(), getPath(), available(), freeSpaceToKeep, currFreeSpace ); return false; } } return true; }
private void verifyLoc(long maxSize, StorageLocation loc) { Assert.assertEquals(maxSize, loc.available()); for (int i = 0; i <= maxSize; ++i) { Assert.assertTrue(String.valueOf(i), loc.canHandle(makeSegment("2013/2014", i))); } }
boolean canHandle(DataSegment segment) { if (available() < segment.getSize()) { log.warn( "Segment[%s:%,d] too large for storage[%s:%,d]. Check your druid.segmentCache.locations maxSize param", segment.getIdentifier(), segment.getSize(), getPath(), available() ); return false; } if (freeSpaceToKeep > 0) { long currFreeSpace = path.getFreeSpace(); if ((freeSpaceToKeep + segment.getSize()) > currFreeSpace) { log.warn( "Segment[%s:%,d] too large for storage[%s:%,d] to maintain suggested freeSpace[%d], current freeSpace is [%d].", segment.getIdentifier(), segment.getSize(), getPath(), available(), freeSpaceToKeep, currFreeSpace ); return false; } } return true; }