public long estimatedKeysForRange(Range<Token> range) { try (RefViewFragment view = selectAndReference(View.selectFunction(SSTableSet.CANONICAL))) { long count = 0; for (SSTableReader sstable : view.sstables) count += sstable.estimatedKeysForRanges(Collections.singleton(range)); return count; } }
public Iterable<DecoratedKey> keySamples(Range<Token> range) { try (RefViewFragment view = selectAndReference(View.selectFunction(SSTableSet.CANONICAL))) { Iterable<DecoratedKey>[] samples = new Iterable[view.sstables.size()]; int i = 0; for (SSTableReader sstable: view.sstables) { samples[i++] = sstable.getKeySamples(range); } return Iterables.concat(samples); } }
public Iterable<DecoratedKey> keySamples(Range<Token> range) { try (RefViewFragment view = selectAndReference(View.selectFunction(SSTableSet.CANONICAL))) { Iterable<DecoratedKey>[] samples = new Iterable[view.sstables.size()]; int i = 0; for (SSTableReader sstable: view.sstables) { samples[i++] = sstable.getKeySamples(range); } return Iterables.concat(samples); } }
public long estimatedKeysForRange(Range<Token> range) { try (RefViewFragment view = selectAndReference(View.selectFunction(SSTableSet.CANONICAL))) { long count = 0; for (SSTableReader sstable : view.sstables) count += sstable.estimatedKeysForRanges(Collections.singleton(range)); return count; } }
public long estimatedKeysForRange(Range<Token> range) { try (RefViewFragment view = selectAndReference(View.selectFunction(SSTableSet.CANONICAL))) { long count = 0; for (SSTableReader sstable : view.sstables) count += sstable.estimatedKeysForRanges(Collections.singleton(range)); return count; } }
/** * Does a blocking full rebuild of the specifed indexes from all the sstables in the base table. * Note also that this method of (re)building indexes: * a) takes a set of index *names* rather than Indexers * b) marks existing indexes removed prior to rebuilding * c) fails if such marking operation conflicts with any ongoing index builds, as full rebuilds cannot be run * concurrently * * @param indexNames the list of indexes to be rebuilt */ public void rebuildIndexesBlocking(Set<String> indexNames) { try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> allSSTables = viewFragment.refs) { Set<Index> toRebuild = indexes.values().stream() .filter(index -> indexNames.contains(index.getIndexMetadata().name)) .filter(Index::shouldBuildBlocking) .collect(Collectors.toSet()); if (toRebuild.isEmpty()) { logger.info("No defined indexes with the supplied names: {}", Joiner.on(',').join(indexNames)); return; } buildIndexesBlocking(allSSTables, toRebuild, true); } }
public Iterable<DecoratedKey> keySamples(Range<Token> range) { try (RefViewFragment view = selectAndReference(View.selectFunction(SSTableSet.CANONICAL))) { Iterable<DecoratedKey>[] samples = new Iterable[view.sstables.size()]; int i = 0; for (SSTableReader sstable: view.sstables) { samples[i++] = sstable.getKeySamples(range); } return Iterables.concat(samples); } }
public Future<?> buildIndex(Index index) { if (index.shouldBuildBlocking()) { try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> sstables = viewFragment.refs) { return buildIndex(1, sstables, index, true); } } return null; }
public void buildIndexBlocking(Index index) { if (index.shouldBuildBlocking()) { try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> sstables = viewFragment.refs) { buildIndexesBlocking(sstables, Collections.singleton(index)); markIndexBuilt(index.getIndexMetadata().name); } } }
public void buildIndexBlocking(Index index) { if (index.shouldBuildBlocking()) { try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> sstables = viewFragment.refs) { buildIndexesBlocking(sstables, Collections.singleton(index), true); markIndexBuilt(index.getIndexMetadata().name); } } }
public void buildIndexBlocking(Index index) { if (index.shouldBuildBlocking()) { try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> sstables = viewFragment.refs) { buildIndexesBlocking(sstables, Collections.singleton(index)); markIndexBuilt(index.getIndexMetadata().name); } } }
private void buildBlocking() { baseCfs.forceBlockingFlush(); try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> sstables = viewFragment.refs) { if (sstables.isEmpty()) { logger.info("No SSTable data for {}.{} to build index {} from, marking empty index as built", baseCfs.metadata.ksName, baseCfs.metadata.cfName, metadata.name); baseCfs.indexManager.markIndexBuilt(metadata.name); return; } logger.info("Submitting index build of {} for data in {}", metadata.name, getSSTableNames(sstables)); SecondaryIndexBuilder builder = new CollatedViewIndexBuilder(baseCfs, Collections.singleton(this), new ReducingKeyIterator(sstables)); Future<?> future = CompactionManager.instance.submitIndexBuild(builder); FBUtilities.waitOnFuture(future); indexCfs.forceBlockingFlush(); baseCfs.indexManager.markIndexBuilt(metadata.name); } logger.info("Index build of {} complete", metadata.name); }
private void buildBlocking() { baseCfs.forceBlockingFlush(); try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> sstables = viewFragment.refs) { if (sstables.isEmpty()) { logger.info("No SSTable data for {}.{} to build index {} from, marking empty index as built", baseCfs.metadata.ksName, baseCfs.metadata.cfName, metadata.name); baseCfs.indexManager.markIndexBuilt(metadata.name); return; } logger.info("Submitting index build of {} for data in {}", metadata.name, getSSTableNames(sstables)); SecondaryIndexBuilder builder = new CollatedViewIndexBuilder(baseCfs, Collections.singleton(this), new ReducingKeyIterator(sstables)); Future<?> future = CompactionManager.instance.submitIndexBuild(builder); FBUtilities.waitOnFuture(future); indexCfs.forceBlockingFlush(); baseCfs.indexManager.markIndexBuilt(metadata.name); } logger.info("Index build of {} complete", metadata.name); }
private void buildBlocking() { baseCfs.forceBlockingFlush(); try (ColumnFamilyStore.RefViewFragment viewFragment = baseCfs.selectAndReference(View.selectFunction(SSTableSet.CANONICAL)); Refs<SSTableReader> sstables = viewFragment.refs) { if (sstables.isEmpty()) { logger.info("No SSTable data for {}.{} to build index {} from, marking empty index as built", baseCfs.metadata.ksName, baseCfs.metadata.cfName, metadata.name); baseCfs.indexManager.markIndexBuilt(metadata.name); return; } logger.info("Submitting index build of {} for data in {}", metadata.name, getSSTableNames(sstables)); SecondaryIndexBuilder builder = new CollatedViewIndexBuilder(baseCfs, Collections.singleton(this), new ReducingKeyIterator(sstables)); Future<?> future = CompactionManager.instance.submitIndexBuild(builder); FBUtilities.waitOnFuture(future); indexCfs.forceBlockingFlush(); baseCfs.indexManager.markIndexBuilt(metadata.name); } logger.info("Index build of {} complete", metadata.name); }
function = org.apache.cassandra.db.lifecycle.View.selectFunction(SSTableSet.CANONICAL);
function = org.apache.cassandra.db.lifecycle.View.selectFunction(SSTableSet.CANONICAL);
function = org.apache.cassandra.db.lifecycle.View.selectFunction(SSTableSet.CANONICAL);