private Optional<byte[]> getSplitPointFromAllFiles() throws IOException { ConcatenatedLists<HStoreFile> sfs = new ConcatenatedLists<>(); sfs.addSublist(state.level0Files); sfs.addAllSublists(state.stripeFiles); return StoreUtils.getSplitPoint(sfs, cellComparator); }
@Override public Collection<HStoreFile> getFilesForScan(byte[] startRow, boolean includeStartRow, byte[] stopRow, boolean includeStopRow) { if (state.stripeFiles.isEmpty()) { return state.level0Files; // There's just L0. } int firstStripe = findStripeForRow(startRow, true); int lastStripe = findStripeForRow(stopRow, false); assert firstStripe <= lastStripe; if (firstStripe == lastStripe && state.level0Files.isEmpty()) { return state.stripeFiles.get(firstStripe); // There's just one stripe we need. } if (firstStripe == 0 && lastStripe == (state.stripeFiles.size() - 1)) { return state.allFilesCached; // We need to read all files. } ConcatenatedLists<HStoreFile> result = new ConcatenatedLists<>(); result.addAllSublists(state.stripeFiles.subList(firstStripe, lastStripe + 1)); result.addSublist(state.level0Files); return result; }
@Test @SuppressWarnings("unchecked") public void testManyOne() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L)); c.addAllSublists(Arrays.asList(Arrays.asList(1L), Arrays.asList(2L))); verify(c, 2); }
@Test @SuppressWarnings("unchecked") public void testManyMany() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addAllSublists(Arrays.asList(Arrays.asList(0L, 1L))); c.addSublist(Arrays.asList(2L, 3L, 4L)); c.addAllSublists(Arrays.asList(Arrays.asList(5L), Arrays.asList(6L, 7L))); verify(c, 7); }
@Test public void testEmpty() { verify(new ConcatenatedLists<>(), -1); }
@Test public void testOneMany() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L, 1L, 2L)); verify(c, 2); }
@Test public void testOneOne() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L)); verify(c, 0); }
ConcatenatedLists<HStoreFile> sfs = new ConcatenatedLists<>(); sfs.addAllSublists(stripes); sfs.addSublist(l0Files);
ConcatenatedLists<HStoreFile> sfs = new ConcatenatedLists<>(); sfs.addAllSublists(stripes.subList(bestStart, endIndex + 1)); SplitStripeCompactionRequest result = new SplitStripeCompactionRequest(sfs,
List<HStoreFile> l0Files = si.getLevel0Files(); LOG.debug("Adding " + l0Files.size() + " files to compaction to be able to drop deletes"); ConcatenatedLists<HStoreFile> sfs = new ConcatenatedLists<>(); sfs.addSublist(filesToCompact); sfs.addSublist(l0Files);
@Test public void testUnsupportedOps() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L, 1L)); try {
ConcatenatedLists<HStoreFile> sfs = new ConcatenatedLists<>(); sfs.addSublist(si.getLevel0Files()); sfs.addSublist(si.getStripes().get(0));
@Test @SuppressWarnings("unchecked") public void testManyOne() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L)); c.addAllSublists(Arrays.asList(Arrays.asList(1L), Arrays.asList(2L))); verify(c, 2); }
@Test @SuppressWarnings("unchecked") public void testManyMany() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addAllSublists(Arrays.asList(Arrays.asList(0L, 1L))); c.addSublist(Arrays.asList(2L, 3L, 4L)); c.addAllSublists(Arrays.asList(Arrays.asList(5L), Arrays.asList(6L, 7L))); verify(c, 7); }
private byte[] getSplitPointFromAllFiles() throws IOException { ConcatenatedLists<StoreFile> sfs = new ConcatenatedLists<StoreFile>(); sfs.addSublist(state.level0Files); sfs.addAllSublists(state.stripeFiles); if (sfs.isEmpty()) return null; return StoreUtils.getLargestFile(sfs).getFileSplitPoint(this.kvComparator); }
@Test @SuppressWarnings("unchecked") public void testManyOne() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L)); c.addAllSublists(Arrays.asList(Arrays.asList(1L), Arrays.asList(2L))); verify(c, 2); }
@Test public void testOneMany() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L, 1L, 2L)); verify(c, 2); }
@Test public void testOneOne() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L)); verify(c, 0); }
@Test public void testOneMany() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L, 1L, 2L)); verify(c, 2); }
@Test public void testOneOne() { ConcatenatedLists<Long> c = new ConcatenatedLists<>(); c.addSublist(Arrays.asList(0L)); verify(c, 0); }