/** * @param segment segment number * @return a file pointing at the segment */ public File getSegmentPath(int segment) { return RecordLogDirectory.getSegmentPath(file, segment); }
/** * @param segment segment number * @return a file pointing at the segment */ public File getSegmentPath(int segment) { return RecordLogDirectory.getSegmentPath(file, segment); }
public static File getSegmentPath(File root, int segment) { return getSegmentPath(root, segment, false); }
public static File getSegmentPath(File root, int segment) { return getSegmentPath(root, segment, false); }
public long getSegmentTimestamp(int segmentNum) throws IOException { return getSegmentPath(dir, segmentNum, false).lastModified(); }
public long getSegmentTimestamp(int segmentNum) throws IOException { return getSegmentPath(dir, segmentNum, false).lastModified(); }
public void garbageCollect(final long address) { int segmentNum = getSegmentNum(address)-1; final List<File> filesToDelete = Lists.newArrayList(); while (segmentNum >= 0) { final File f = getSegmentPath(dir, segmentNum); segmentNum--; if (f.exists()) { filesToDelete.add(f); } else { break; } } for (int i = filesToDelete.size()-1; i >= 0; i--) { filesToDelete.get(i).delete(); } }
public void garbageCollect(final long address) { int segmentNum = getSegmentNum(address)-1; final List<File> filesToDelete = Lists.newArrayList(); while (segmentNum >= 0) { final File f = getSegmentPath(dir, segmentNum); segmentNum--; if (f.exists()) { filesToDelete.add(f); } else { break; } } for (int i = filesToDelete.size()-1; i >= 0; i--) { filesToDelete.get(i).delete(); } }
public void roll() throws IOException { currentWriter.sync(); currentWriter.close(); final File segmentFile = getSegmentPath(path, currentSegmentNum, true); currentWriterPath.renameTo(segmentFile); currentWriter = createWriter(++currentSegmentNum); lastRollTime = System.currentTimeMillis(); }
public void roll() throws IOException { currentWriter.sync(); currentWriter.close(); final File segmentFile = getSegmentPath(path, currentSegmentNum, true); currentWriterPath.renameTo(segmentFile); currentWriter = createWriter(++currentSegmentNum); lastRollTime = System.currentTimeMillis(); }
public boolean verifySegmentIntegrity(File file, int segmentNum) { BlockCompressedRecordFile<E> recordFile = null; try { recordFile = new BlockCompressedRecordFile.Builder(getSegmentPath(file, segmentNum, false), serializer, codec) .setBlockSize(blockSize) .setRecordIndexBits(recordIndexBits) .setPadBits(padBits) .build(); } catch (IOException e) { return false; } finally { if (recordFile != null) try { recordFile.close(); } catch (IOException e) { //ignore } } return true; }
public boolean verifySegmentIntegrity(File file, int segmentNum) { BlockCompressedRecordFile<E> recordFile = null; try { recordFile = new BlockCompressedRecordFile.Builder(getSegmentPath(file, segmentNum, false), serializer, codec) .setBlockSize(blockSize) .setRecordIndexBits(recordIndexBits) .setPadBits(padBits) .build(); } catch (IOException e) { return false; } finally { if (recordFile != null) try { recordFile.close(); } catch (IOException e) { //ignore } } return true; }