public static Function<View, Iterable<SSTableReader>> selectFunction(SSTableSet sstableSet) { return (view) -> view.select(sstableSet); }
public static Function<View, Iterable<SSTableReader>> selectFunction(SSTableSet sstableSet) { return (view) -> view.select(sstableSet); }
public static Function<View, Iterable<SSTableReader>> selectFunction(SSTableSet sstableSet) { return (view) -> view.select(sstableSet); }
public Iterable<SSTableReader> sstables(SSTableSet sstableSet, Predicate<SSTableReader> filter) { return filter(select(sstableSet), filter); }
public Iterable<SSTableReader> getUncompacting() { return view.get().select(SSTableSet.NONCOMPACTING); }
public Iterable<SSTableReader> sstables(SSTableSet sstableSet, Predicate<SSTableReader> filter) { return filter(select(sstableSet), filter); }
public Iterable<SSTableReader> getUncompacting() { return view.get().select(SSTableSet.NONCOMPACTING); }
public Iterable<SSTableReader> sstables(SSTableSet sstableSet, Predicate<SSTableReader> filter) { return filter(select(sstableSet), filter); }
public Iterable<SSTableReader> getUncompacting() { return view.get().select(SSTableSet.NONCOMPACTING); }
public Iterable<SSTableReader> getSSTables(SSTableSet sstableSet) { return data.getView().select(sstableSet); }
public Iterable<SSTableReader> sstables(SSTableSet sstableSet, Predicate<SSTableReader> filter) { return filter(select(sstableSet), filter); }
public Iterable<SSTableReader> getSSTables(SSTableSet sstableSet) { return data.getView().select(sstableSet); }
public Iterable<SSTableReader> getSSTables(SSTableSet sstableSet) { return data.getView().select(sstableSet); }
/** * Mark sstables repairing - either all sstables or only the unrepaired ones depending on * * whether this is an incremental or full repair * * @param cfId the column family * @param parentSessionId the parent repair session id, used to make sure we don't start multiple repairs over the same sstables */ public synchronized void markSSTablesRepairing(UUID cfId, UUID parentSessionId) { if (!marked.contains(cfId)) { List<SSTableReader> sstables = columnFamilyStores.get(cfId).select(View.select(SSTableSet.CANONICAL, (s) -> !isIncremental || !s.isRepaired())).sstables; Set<SSTableReader> currentlyRepairing = ActiveRepairService.instance.currentlyRepairing(cfId, parentSessionId); if (!Sets.intersection(currentlyRepairing, Sets.newHashSet(sstables)).isEmpty()) { logger.error("Cannot start multiple repair sessions over the same sstables"); throw new RuntimeException("Cannot start multiple repair sessions over the same sstables"); } addSSTables(cfId, sstables); marked.add(cfId); } }
private static Collection<SSTableReader> sstablesInBounds(ColumnFamilyStore cfs, Collection<Range<Token>> tokenRangeCollection) { final Set<SSTableReader> sstables = new HashSet<>(); Iterable<SSTableReader> liveTables = cfs.getTracker().getView().select(SSTableSet.LIVE); SSTableIntervalTree tree = SSTableIntervalTree.build(liveTables); for (Range<Token> tokenRange : tokenRangeCollection) { Iterable<SSTableReader> ssTableReaders = View.sstablesInBounds(tokenRange.left.minKeyBound(), tokenRange.right.maxKeyBound(), tree); Iterables.addAll(sstables, ssTableReaders); } return sstables; }
private static Collection<SSTableReader> sstablesInBounds(ColumnFamilyStore cfs, Collection<Range<Token>> tokenRangeCollection) { final Set<SSTableReader> sstables = new HashSet<>(); Iterable<SSTableReader> liveTables = cfs.getTracker().getView().select(SSTableSet.LIVE); SSTableIntervalTree tree = SSTableIntervalTree.build(liveTables); for (Range<Token> tokenRange : tokenRangeCollection) { Iterable<SSTableReader> ssTableReaders = View.sstablesInBounds(tokenRange.left.minKeyBound(), tokenRange.right.maxKeyBound(), tree); Iterables.addAll(sstables, ssTableReaders); } return sstables; }
private static Collection<SSTableReader> sstablesInBounds(ColumnFamilyStore cfs, Collection<Range<Token>> tokenRangeCollection) { final Set<SSTableReader> sstables = new HashSet<>(); Iterable<SSTableReader> liveTables = cfs.getTracker().getView().select(SSTableSet.LIVE); SSTableIntervalTree tree = SSTableIntervalTree.build(liveTables); for (Range<Token> tokenRange : tokenRangeCollection) { Iterable<SSTableReader> ssTableReaders = View.sstablesInBounds(tokenRange.left.minKeyBound(), tokenRange.right.maxKeyBound(), tree); Iterables.addAll(sstables, ssTableReaders); } return sstables; }
public List<String> getSSTablesForKey(String key, boolean hexFormat) { ByteBuffer keyBuffer = hexFormat ? ByteBufferUtil.hexToBytes(key) : metadata.getKeyValidator().fromString(key); DecoratedKey dk = decorateKey(keyBuffer); try (OpOrder.Group op = readOrdering.start()) { List<String> files = new ArrayList<>(); for (SSTableReader sstr : select(View.select(SSTableSet.LIVE, dk)).sstables) { // check if the key actually exists in this sstable, without updating cache and stats if (sstr.getPosition(dk, SSTableReader.Operator.EQ, false) != null) files.add(sstr.getFilename()); } return files; } }
public List<String> getSSTablesForKey(String key, boolean hexFormat) { ByteBuffer keyBuffer = hexFormat ? ByteBufferUtil.hexToBytes(key) : metadata.getKeyValidator().fromString(key); DecoratedKey dk = decorateKey(keyBuffer); try (OpOrder.Group op = readOrdering.start()) { List<String> files = new ArrayList<>(); for (SSTableReader sstr : select(View.select(SSTableSet.LIVE, dk)).sstables) { // check if the key actually exists in this sstable, without updating cache and stats if (sstr.getPosition(dk, SSTableReader.Operator.EQ, false) != null) files.add(sstr.getFilename()); } return files; } }
public List<String> getSSTablesForKey(String key, boolean hexFormat) { ByteBuffer keyBuffer = hexFormat ? ByteBufferUtil.hexToBytes(key) : metadata.getKeyValidator().fromString(key); DecoratedKey dk = decorateKey(keyBuffer); try (OpOrder.Group op = readOrdering.start()) { List<String> files = new ArrayList<>(); for (SSTableReader sstr : select(View.select(SSTableSet.LIVE, dk)).sstables) { // check if the key actually exists in this sstable, without updating cache and stats if (sstr.getPosition(dk, SSTableReader.Operator.EQ, false) != null) files.add(sstr.getFilename()); } return files; } }