private boolean isWritingOnLastChunk() { final int lastChunkNumber = file.getNumberOfChunks() - 1; return currentChunkNumber >= lastChunkNumber; }
private boolean isWritingOnLastChunk() { final int lastChunkNumber = file.getNumberOfChunks() - 1; return currentChunkNumber >= lastChunkNumber; }
private boolean isWritingOnLastChunk() { final int lastChunkNumber = file.getNumberOfChunks() - 1; return currentChunkNumber >= lastChunkNumber; }
private byte[] getChunkById(FileCacheKey fileKey, int chunkNumber, int bufferSize) { if (file.getNumberOfChunks() <= chunkNumber) { return new byte[bufferSize]; } ChunkCacheKey key = new ChunkCacheKey(fileKey.getIndexName(), fileKey.getFileName(), chunkNumber, bufferSize, affinitySegmentId); byte[] readBuffer = (byte[]) chunksCache.get(key); if (readBuffer==null) { return new byte[bufferSize]; } else if (readBuffer.length == bufferSize) { return readBuffer; } else { byte[] newBuffer = new byte[bufferSize]; System.arraycopy(readBuffer, 0, newBuffer, 0, readBuffer.length); return newBuffer; } }
private byte[] getChunkById(FileCacheKey fileKey, int chunkNumber, int bufferSize) { if (file.getNumberOfChunks() <= chunkNumber) { return new byte[bufferSize]; } ChunkCacheKey key = new ChunkCacheKey(fileKey.getIndexName(), fileKey.getFileName(), chunkNumber, bufferSize, affinitySegmentId); byte[] readBuffer = (byte[]) chunksCache.get(key); if (readBuffer==null) { return new byte[bufferSize]; } else if (readBuffer.length == bufferSize) { return readBuffer; } else { byte[] newBuffer = new byte[bufferSize]; System.arraycopy(readBuffer, 0, newBuffer, 0, readBuffer.length); return newBuffer; } }
private byte[] getChunkById(FileCacheKey fileKey, int chunkNumber, int bufferSize) { if (file.getNumberOfChunks() <= chunkNumber) { return new byte[bufferSize]; } ChunkCacheKey key = new ChunkCacheKey(fileKey.getIndexName(), fileKey.getFileName(), chunkNumber, bufferSize); byte[] readBuffer = (byte[]) chunksCache.get(key); if (readBuffer==null) { return new byte[bufferSize]; } else if (readBuffer.length == bufferSize) { return readBuffer; } else { byte[] newBuffer = new byte[bufferSize]; System.arraycopy(readBuffer, 0, newBuffer, 0, readBuffer.length); return newBuffer; } }
@Test public void roundingTest() { FileMetadata m = new FileMetadata(10); AssertJUnit.assertEquals(0, m.getNumberOfChunks()); m.setSize(10); AssertJUnit.assertEquals(1, m.getNumberOfChunks()); m.setSize(11); AssertJUnit.assertEquals(2, m.getNumberOfChunks()); m = new FileMetadata(11); m.setSize(11); AssertJUnit.assertEquals(1, m.getNumberOfChunks()); m.setSize(22); AssertJUnit.assertEquals(2, m.getNumberOfChunks()); m.setSize(31); m = new FileMetadata(10); m.setSize(31); AssertJUnit.assertEquals(4, m.getNumberOfChunks()); }
if (file != null) { //during optimization of index a same file could be deleted twice, so you could see a null here final int bufferSize = file.getBufferSize(); for (int i = 0; i < file.getNumberOfChunks(); i++) { ChunkCacheKey chunkKey = new ChunkCacheKey(indexName, filename, i, bufferSize); if (trace) log.tracef("deleting chunk: %s", chunkKey);
final int bufferSize = file.getBufferSize(); AdvancedCache<?, ?> chunksCacheNoReturn = chunksCache.withFlags(Flag.IGNORE_RETURN_VALUES); for (int i = 0; i < file.getNumberOfChunks(); i++) { ChunkCacheKey chunkKey = new ChunkCacheKey(indexName, fileName, i, bufferSize, affinitySegmentId); if (trace) log.tracef("deleting chunk: %s", chunkKey);
final int bufferSize = file.getBufferSize(); AdvancedCache<?, ?> chunksCacheNoReturn = chunksCache.withFlags(Flag.IGNORE_RETURN_VALUES); for (int i = 0; i < file.getNumberOfChunks(); i++) { ChunkCacheKey chunkKey = new ChunkCacheKey(indexName, fileName, i, bufferSize, affinitySegmentId); if (trace) log.tracef("deleting chunk: %s", chunkKey);