List of usage examples for org.apache.cassandra.db.compaction CompactionTask CompactionTask
public CompactionTask(ColumnFamilyStore cfs, LifecycleTransaction txn, int gcBefore)
From source file:com.jeffjirsa.cassandra.db.compaction.SizeTieredCompactionStrategy.java
License:Apache License
@SuppressWarnings("resource") public synchronized AbstractCompactionTask getNextBackgroundTask(int gcBefore) { while (true) { List<SSTableReader> hottestBucket = getNextBackgroundSSTables(gcBefore); if (hottestBucket.isEmpty()) return null; LifecycleTransaction transaction = cfs.getTracker().tryModify(hottestBucket, OperationType.COMPACTION); if (transaction != null) return new CompactionTask(cfs, transaction, gcBefore); }/*from ww w . j ava 2 s . c om*/ }
From source file:com.jeffjirsa.cassandra.db.compaction.SizeTieredCompactionStrategy.java
License:Apache License
@SuppressWarnings("resource") public Collection<AbstractCompactionTask> getMaximalTask(final int gcBefore, boolean splitOutput) { Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables); if (Iterables.isEmpty(filteredSSTables)) return null; LifecycleTransaction txn = cfs.getTracker().tryModify(filteredSSTables, OperationType.COMPACTION); if (txn == null) return null; if (splitOutput) return Arrays.<AbstractCompactionTask>asList(new SplittingCompactionTask(cfs, txn, gcBefore)); return Arrays.<AbstractCompactionTask>asList(new CompactionTask(cfs, txn, gcBefore)); }
From source file:com.jeffjirsa.cassandra.db.compaction.SizeTieredCompactionStrategy.java
License:Apache License
@SuppressWarnings("resource") public AbstractCompactionTask getUserDefinedTask(Collection<SSTableReader> sstables, final int gcBefore) { assert !sstables.isEmpty(); // checked for by CM.submitUserDefined LifecycleTransaction transaction = cfs.getTracker().tryModify(sstables, OperationType.COMPACTION); if (transaction == null) { logger.trace(/*from ww w . j a va 2s . c o m*/ "Unable to mark {} for compaction; probably a background compaction got to it first. You can disable background compactions temporarily if this is a problem", sstables); return null; } return new CompactionTask(cfs, transaction, gcBefore).setUserDefined(true); }
From source file:com.jeffjirsa.cassandra.db.compaction.TimeWindowCompactionStrategy.java
License:Apache License
@Override public synchronized AbstractCompactionTask getNextBackgroundTask(int gcBefore) { while (true) { List<SSTableReader> latestBucket = getNextBackgroundSSTables(gcBefore); if (latestBucket.isEmpty()) return null; LifecycleTransaction modifier = cfs.getTracker().tryModify(latestBucket, OperationType.COMPACTION); if (modifier != null && !options.enableCleanup) return new CompactionTask(cfs, modifier, gcBefore); else if (modifier != null && options.enableCleanup) return new CleaningTimeWindowCompactionTask(cfs, modifier, gcBefore); }/*from w ww . j a v a2s . com*/ }
From source file:com.jeffjirsa.cassandra.db.compaction.TimeWindowCompactionStrategy.java
License:Apache License
@Override public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput) { Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables); if (Iterables.isEmpty(filteredSSTables)) return null; LifecycleTransaction txn = cfs.getTracker().tryModify(filteredSSTables, OperationType.COMPACTION); if (txn == null) return null; return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore)); }
From source file:com.jeffjirsa.cassandra.db.compaction.TimeWindowCompactionStrategy.java
License:Apache License
@Override public synchronized AbstractCompactionTask getUserDefinedTask(Collection<SSTableReader> sstables, int gcBefore) { assert !sstables.isEmpty(); // checked for by CM.submitUserDefined LifecycleTransaction modifier = cfs.getTracker().tryModify(sstables, OperationType.COMPACTION); if (modifier == null) { logger.debug(//ww w . jav a 2 s .c o m "Unable to mark {} for compaction; probably a background compaction got to it first. You can disable background compactions temporarily if this is a problem", sstables); return null; } return new CompactionTask(cfs, modifier, gcBefore).setUserDefined(true); }