/**------------------------------------------------------------------------ * Empty C-tor to be used only for CompositeImmutableSegment */ protected ImmutableSegment(CellComparator comparator) { super(comparator, TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC)); }
/**------------------------------------------------------------------------ * C-tor to be used to build the derived classes */ protected ImmutableSegment(CellSet cs, CellComparator comparator, MemStoreLAB memStoreLAB) { super(cs, comparator, memStoreLAB, TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC)); }
protected ImmutableSegment(CellComparator comparator, List<ImmutableSegment> segments) { super(comparator, segments, TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC)); }
@Override protected TimeRangeTracker getTimeRangeTracker(long min, long max) { return TimeRangeTracker.create(TimeRangeTracker.Type.SYNC, min, max); }
@Override protected TimeRangeTracker getTimeRangeTracker() { return TimeRangeTracker.create(TimeRangeTracker.Type.SYNC); }
protected TimeRangeTracker getTimeRangeTracker(long min, long max) { return TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC, min, max); }
protected TimeRangeTracker getTimeRangeTracker() { return TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC); }
protected MutableSegment(CellSet cellSet, CellComparator comparator, MemStoreLAB memStoreLAB, MemStoreSizing memstoreSizing) { super(cellSet, comparator, memStoreLAB, TimeRangeTracker.create(TimeRangeTracker.Type.SYNC)); incMemStoreSize(0, DEEP_OVERHEAD, 0, 0); // update the mutable segment metadata if (memstoreSizing != null) { memstoreSizing.incMemStoreSize(0, DEEP_OVERHEAD, 0, 0); } }
public static TimeRangeTracker parseFrom(final byte[] data, Type type) throws IOException { Preconditions.checkNotNull(data, "input data is null!"); if (ProtobufUtil.isPBMagicPrefix(data)) { int pblen = ProtobufUtil.lengthOfPBMagic(); HBaseProtos.TimeRangeTracker.Builder builder = HBaseProtos.TimeRangeTracker.newBuilder(); ProtobufUtil.mergeFrom(builder, data, pblen, data.length - pblen); return TimeRangeTracker.create(type, builder.getFrom(), builder.getTo()); } else { try (DataInputStream in = new DataInputStream(new ByteArrayInputStream(data))) { return TimeRangeTracker.create(type, in.readLong(), in.readLong()); } } }
boolean shouldDropCacheBehind) throws IOException { this.timeRangeTracker = TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC);
protected ArrayList<HStoreFile> sfCreate(long[] minTimestamps, long[] maxTimestamps, long[] sizes) throws IOException { ManualEnvironmentEdge timeMachine = new ManualEnvironmentEdge(); EnvironmentEdgeManager.injectEdge(timeMachine); // Has to be > 0 and < now. timeMachine.setValue(1); ArrayList<Long> ageInDisk = new ArrayList<>(); for (int i = 0; i < sizes.length; i++) { ageInDisk.add(0L); } ArrayList<HStoreFile> ret = Lists.newArrayList(); for (int i = 0; i < sizes.length; i++) { MockHStoreFile msf = new MockHStoreFile(TEST_UTIL, TEST_FILE, sizes[i], ageInDisk.get(i), false, i); msf.setTimeRangeTracker(TimeRangeTracker.create(TimeRangeTracker.Type.SYNC, minTimestamps[i], maxTimestamps[i])); ret.add(msf); } return ret; }
TimeRangeTracker trt = TimeRangeTracker.create(TimeRangeTracker.Type.SYNC);
@Test public void testCompactionEmptyHFile() throws IOException { // Set TTL ScanInfo oldScanInfo = store.getScanInfo(); ScanInfo newScanInfo = oldScanInfo.customize(oldScanInfo.getMaxVersions(), 600, oldScanInfo.getKeepDeletedCells()); store.setScanInfo(newScanInfo); // Do not compact empty store file List<HStoreFile> candidates = sfCreate(0); for (HStoreFile file : candidates) { if (file instanceof MockHStoreFile) { MockHStoreFile mockFile = (MockHStoreFile) file; mockFile.setTimeRangeTracker(TimeRangeTracker.create(TimeRangeTracker.Type.SYNC, -1, -1)); mockFile.setEntries(0); } } // Test Default compactions CompactionRequestImpl result = ((RatioBasedCompactionPolicy) store.storeEngine .getCompactionPolicy()).selectCompaction(candidates, new ArrayList<>(), false, false, false); Assert.assertTrue(result.getFiles().isEmpty()); store.setScanInfo(oldScanInfo); } }
@Override protected TimeRangeTracker getTimeRangeTracker(long min, long max) { return TimeRangeTracker.create(TimeRangeTracker.Type.SYNC, min, max); }
@Override protected TimeRangeTracker getTimeRangeTracker() { return TimeRangeTracker.create(TimeRangeTracker.Type.SYNC); }
protected TimeRangeTracker getTimeRangeTracker() { return TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC); }
protected TimeRangeTracker getTimeRangeTracker(long min, long max) { return TimeRangeTracker.create(TimeRangeTracker.Type.NON_SYNC, min, max); }
protected ArrayList<HStoreFile> sfCreate(long[] minTimestamps, long[] maxTimestamps, long[] sizes) throws IOException { ManualEnvironmentEdge timeMachine = new ManualEnvironmentEdge(); EnvironmentEdgeManager.injectEdge(timeMachine); // Has to be > 0 and < now. timeMachine.setValue(1); ArrayList<Long> ageInDisk = new ArrayList<>(); for (int i = 0; i < sizes.length; i++) { ageInDisk.add(0L); } ArrayList<HStoreFile> ret = Lists.newArrayList(); for (int i = 0; i < sizes.length; i++) { MockHStoreFile msf = new MockHStoreFile(TEST_UTIL, TEST_FILE, sizes[i], ageInDisk.get(i), false, i); msf.setTimeRangeTracker(TimeRangeTracker.create(TimeRangeTracker.Type.SYNC, minTimestamps[i], maxTimestamps[i])); ret.add(msf); } return ret; }
TimeRangeTracker trt = TimeRangeTracker.create(TimeRangeTracker.Type.SYNC);
@Test public void testCompactionEmptyHFile() throws IOException { // Set TTL ScanInfo oldScanInfo = store.getScanInfo(); ScanInfo newScanInfo = oldScanInfo.customize(oldScanInfo.getMaxVersions(), 600, oldScanInfo.getKeepDeletedCells()); store.setScanInfo(newScanInfo); // Do not compact empty store file List<HStoreFile> candidates = sfCreate(0); for (HStoreFile file : candidates) { if (file instanceof MockHStoreFile) { MockHStoreFile mockFile = (MockHStoreFile) file; mockFile.setTimeRangeTracker(TimeRangeTracker.create(TimeRangeTracker.Type.SYNC, -1, -1)); mockFile.setEntries(0); } } // Test Default compactions CompactionRequestImpl result = ((RatioBasedCompactionPolicy) store.storeEngine .getCompactionPolicy()).selectCompaction(candidates, new ArrayList<>(), false, false, false); Assert.assertTrue(result.getFiles().isEmpty()); store.setScanInfo(oldScanInfo); } }