public synchronized void maybeSnapshot(UUID cfId, UUID parentSessionId) { String snapshotName = parentSessionId.toString(); if (!columnFamilyStores.get(cfId).snapshotExists(snapshotName)) { Set<SSTableReader> snapshottedSSTables = columnFamilyStores.get(cfId).snapshot(snapshotName, new Predicate<SSTableReader>() { public boolean apply(SSTableReader sstable) { return sstable != null && (!isIncremental || !sstable.isRepaired()) && !(sstable.metadata.isIndex()) && // exclude SSTables from 2i new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(ranges); } }, true, false); if (isAlreadyRepairing(cfId, parentSessionId, snapshottedSSTables)) { columnFamilyStores.get(cfId).clearSnapshot(parentSessionId.toString()); 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, snapshottedSSTables); marked.add(cfId); } }
public synchronized void maybeSnapshot(UUID cfId, UUID parentSessionId) { String snapshotName = parentSessionId.toString(); if (!columnFamilyStores.get(cfId).snapshotExists(snapshotName)) { Set<SSTableReader> snapshottedSSTables = columnFamilyStores.get(cfId).snapshot(snapshotName, new Predicate<SSTableReader>() { public boolean apply(SSTableReader sstable) { return sstable != null && (!isIncremental || !sstable.isRepaired()) && !(sstable.metadata.isIndex()) && // exclude SSTables from 2i new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(ranges); } }, true, false); if (isAlreadyRepairing(cfId, parentSessionId, snapshottedSSTables)) { columnFamilyStores.get(cfId).clearSnapshot(parentSessionId.toString()); 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, snapshottedSSTables); marked.add(cfId); } }
public synchronized void maybeSnapshot(UUID cfId, UUID parentSessionId) { String snapshotName = parentSessionId.toString(); if (!columnFamilyStores.get(cfId).snapshotExists(snapshotName)) { Set<SSTableReader> snapshottedSSTables = columnFamilyStores.get(cfId).snapshot(snapshotName, new Predicate<SSTableReader>() { public boolean apply(SSTableReader sstable) { return sstable != null && (!isIncremental || !sstable.isRepaired()) && !(sstable.metadata.isIndex()) && // exclude SSTables from 2i new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(ranges); } }, true, false); if (isAlreadyRepairing(cfId, parentSessionId, snapshottedSSTables)) { columnFamilyStores.get(cfId).clearSnapshot(parentSessionId.toString()); 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, snapshottedSSTables); marked.add(cfId); } }