Search in sources :

Example 1 with CleanupSummary

use of org.apache.cassandra.repair.consistent.admin.CleanupSummary in project cassandra by apache.

the class CompactionStrategyManager method releaseRepairData.

public CleanupSummary releaseRepairData(Collection<UUID> sessions) {
    List<CleanupTask> cleanupTasks = new ArrayList<>();
    readLock.lock();
    try {
        for (PendingRepairManager prm : Iterables.concat(pendingRepairs.getManagers(), transientRepairs.getManagers())) cleanupTasks.add(prm.releaseSessionData(sessions));
    } finally {
        readLock.unlock();
    }
    CleanupSummary summary = new CleanupSummary(cfs, Collections.emptySet(), Collections.emptySet());
    for (CleanupTask task : cleanupTasks) summary = CleanupSummary.add(summary, task.cleanup());
    return summary;
}
Also used : CleanupTask(org.apache.cassandra.db.compaction.PendingRepairManager.CleanupTask) ArrayList(java.util.ArrayList) CleanupSummary(org.apache.cassandra.repair.consistent.admin.CleanupSummary)

Example 2 with CleanupSummary

use of org.apache.cassandra.repair.consistent.admin.CleanupSummary in project cassandra by apache.

the class LocalSessions method cleanup.

public CleanupSummary cleanup(TableId tid, Collection<Range<Token>> ranges, boolean force) {
    Iterable<LocalSession> candidates = Iterables.filter(sessions.values(), ls -> ls.isCompleted() && ls.tableIds.contains(tid) && Range.intersects(ls.ranges, ranges));
    ColumnFamilyStore cfs = Schema.instance.getColumnFamilyStoreInstance(tid);
    Set<UUID> sessionIds = Sets.newHashSet(Iterables.transform(candidates, s -> s.sessionID));
    return cfs.releaseRepairData(sessionIds, force);
}
Also used : NoSuchRepairSessionException(org.apache.cassandra.repair.NoSuchRepairSessionException) KeyspaceRepairManager(org.apache.cassandra.repair.KeyspaceRepairManager) Date(java.util.Date) LoggerFactory(org.slf4j.LoggerFactory) STATUS_REQ(org.apache.cassandra.net.Verb.STATUS_REQ) CompactionInterruptedException(org.apache.cassandra.db.compaction.CompactionInterruptedException) ByteBuffer(java.nio.ByteBuffer) BooleanSupplier(java.util.function.BooleanSupplier) Map(java.util.Map) DatabaseDescriptor(org.apache.cassandra.config.DatabaseDescriptor) PendingStats(org.apache.cassandra.repair.consistent.admin.PendingStats) Verify(com.google.common.base.Verify) ImmutableSet(com.google.common.collect.ImmutableSet) FBUtilities(org.apache.cassandra.utils.FBUtilities) ImmutableMap(com.google.common.collect.ImmutableMap) Predicate(java.util.function.Predicate) Collection(java.util.Collection) FinalizeCommit(org.apache.cassandra.repair.messages.FinalizeCommit) Set(java.util.Set) UUID(java.util.UUID) Instant(java.time.Instant) CopyOnWriteArraySet(java.util.concurrent.CopyOnWriteArraySet) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) RangesAtEndpoint(org.apache.cassandra.locator.RangesAtEndpoint) FinalizePropose(org.apache.cassandra.repair.messages.FinalizePropose) State(org.apache.cassandra.repair.consistent.ConsistentSession.State) List(java.util.List) FAILED_SESSION_MSG(org.apache.cassandra.net.Verb.FAILED_SESSION_MSG) ColumnFamilyStore(org.apache.cassandra.db.ColumnFamilyStore) Future(org.apache.cassandra.utils.concurrent.Future) Throwables(org.apache.cassandra.utils.Throwables) FINALIZE_PROMISE_MSG(org.apache.cassandra.net.Verb.FINALIZE_PROMISE_MSG) FailureDetector(org.apache.cassandra.gms.FailureDetector) SchemaConstants(org.apache.cassandra.schema.SchemaConstants) DataInputBuffer(org.apache.cassandra.io.util.DataInputBuffer) InetAddressAndPort(org.apache.cassandra.locator.InetAddressAndPort) Iterables(com.google.common.collect.Iterables) PendingStat(org.apache.cassandra.repair.consistent.admin.PendingStat) PrepareConsistentResponse(org.apache.cassandra.repair.messages.PrepareConsistentResponse) DataOutputBuffer(org.apache.cassandra.io.util.DataOutputBuffer) TableId(org.apache.cassandra.schema.TableId) PREPARE_CONSISTENT_RSP(org.apache.cassandra.net.Verb.PREPARE_CONSISTENT_RSP) Range(org.apache.cassandra.dht.Range) HashMap(java.util.HashMap) Message(org.apache.cassandra.net.Message) QueryProcessor(org.apache.cassandra.cql3.QueryProcessor) FinalizePromise(org.apache.cassandra.repair.messages.FinalizePromise) SystemKeyspace(org.apache.cassandra.db.SystemKeyspace) ArrayList(java.util.ArrayList) Schema(org.apache.cassandra.schema.Schema) HashSet(java.util.HashSet) UTF8Type(org.apache.cassandra.db.marshal.UTF8Type) Token(org.apache.cassandra.dht.Token) ActiveRepairService(org.apache.cassandra.service.ActiveRepairService) Lists(com.google.common.collect.Lists) CleanupSummary(org.apache.cassandra.repair.consistent.admin.CleanupSummary) STATUS_RSP(org.apache.cassandra.net.Verb.STATUS_RSP) ExecutorService(java.util.concurrent.ExecutorService) Nullable(javax.annotation.Nullable) MessagingService(org.apache.cassandra.net.MessagingService) Logger(org.slf4j.Logger) BytesType(org.apache.cassandra.db.marshal.BytesType) StatusResponse(org.apache.cassandra.repair.messages.StatusResponse) StorageService(org.apache.cassandra.service.StorageService) IOException(java.io.IOException) PrepareConsistentRequest(org.apache.cassandra.repair.messages.PrepareConsistentRequest) UnknownHostException(java.net.UnknownHostException) Ints(com.google.common.primitives.Ints) FutureCallback(com.google.common.util.concurrent.FutureCallback) Replica(org.apache.cassandra.locator.Replica) FailSession(org.apache.cassandra.repair.messages.FailSession) TimeUnit(java.util.concurrent.TimeUnit) RepairMessage(org.apache.cassandra.repair.messages.RepairMessage) UUIDType(org.apache.cassandra.db.marshal.UUIDType) IPartitioner(org.apache.cassandra.dht.IPartitioner) Global.executorFactory(org.apache.cassandra.concurrent.ExecutorFactory.Global.executorFactory) UntypedResultSet(org.apache.cassandra.cql3.UntypedResultSet) Preconditions(com.google.common.base.Preconditions) VisibleForTesting(com.google.common.annotations.VisibleForTesting) StatusRequest(org.apache.cassandra.repair.messages.StatusRequest) ColumnFamilyStore(org.apache.cassandra.db.ColumnFamilyStore) UUID(java.util.UUID)

Example 3 with CleanupSummary

use of org.apache.cassandra.repair.consistent.admin.CleanupSummary in project cassandra by apache.

the class ActiveRepairService method cleanupPending.

@Override
public List<CompositeData> cleanupPending(List<String> schemaArgs, String rangeString, boolean force) {
    List<CompositeData> stats = new ArrayList<>();
    Collection<Range<Token>> userRanges = rangeString != null ? RepairOption.parseRanges(rangeString, DatabaseDescriptor.getPartitioner()) : null;
    for (ColumnFamilyStore cfs : SchemaArgsParser.parse(schemaArgs)) {
        String keyspace = cfs.keyspace.getName();
        Collection<Range<Token>> ranges = userRanges != null ? userRanges : StorageService.instance.getLocalReplicas(keyspace).ranges();
        CleanupSummary summary = consistent.local.cleanup(cfs.metadata().id, ranges, force);
        stats.add(summary.toComposite());
    }
    return stats;
}
Also used : CompositeData(javax.management.openmbean.CompositeData) ColumnFamilyStore(org.apache.cassandra.db.ColumnFamilyStore) CleanupSummary(org.apache.cassandra.repair.consistent.admin.CleanupSummary) EndpointsByRange(org.apache.cassandra.locator.EndpointsByRange) EndpointsForRange(org.apache.cassandra.locator.EndpointsForRange) CommonRange(org.apache.cassandra.repair.CommonRange) Range(org.apache.cassandra.dht.Range)

Aggregations

CleanupSummary (org.apache.cassandra.repair.consistent.admin.CleanupSummary)3 ArrayList (java.util.ArrayList)2 ColumnFamilyStore (org.apache.cassandra.db.ColumnFamilyStore)2 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 Preconditions (com.google.common.base.Preconditions)1 Verify (com.google.common.base.Verify)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 ImmutableSet (com.google.common.collect.ImmutableSet)1 Iterables (com.google.common.collect.Iterables)1 Lists (com.google.common.collect.Lists)1 Sets (com.google.common.collect.Sets)1 Ints (com.google.common.primitives.Ints)1 FutureCallback (com.google.common.util.concurrent.FutureCallback)1 IOException (java.io.IOException)1 UnknownHostException (java.net.UnknownHostException)1 ByteBuffer (java.nio.ByteBuffer)1 Instant (java.time.Instant)1 Collection (java.util.Collection)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1