Package | Description |
---|---|
org.apache.cassandra.db.compaction | |
org.apache.cassandra.db.repair | |
org.apache.cassandra.db.streaming |
File transfer
|
org.apache.cassandra.locator | |
org.apache.cassandra.repair | |
org.apache.cassandra.service | |
org.apache.cassandra.streaming |
Modifier and Type | Method and Description |
---|---|
void |
CompactionManager.performAnticompaction(ColumnFamilyStore cfs,
RangesAtEndpoint replicas,
Refs<SSTableReader> validatedForRepair,
LifecycleTransaction txn,
java.util.UUID sessionID,
java.util.function.BooleanSupplier isCancelled)
Make sure the {validatedForRepair} are marked for compaction before calling this.
|
com.google.common.util.concurrent.ListenableFuture<?> |
CompactionManager.submitPendingAntiCompaction(ColumnFamilyStore cfs,
RangesAtEndpoint tokenRanges,
Refs<SSTableReader> sstables,
LifecycleTransaction txn,
java.util.UUID sessionId,
java.util.function.BooleanSupplier isCancelled)
Splits the given token ranges of the given sstables into a pending repair silo
|
Modifier and Type | Method and Description |
---|---|
protected org.apache.cassandra.db.repair.PendingAntiCompaction.AcquisitionCallback |
PendingAntiCompaction.getAcquisitionCallback(java.util.UUID prsId,
RangesAtEndpoint tokenRanges) |
com.google.common.util.concurrent.ListenableFuture |
CassandraKeyspaceRepairManager.prepareIncrementalRepair(java.util.UUID sessionID,
java.util.Collection<ColumnFamilyStore> tables,
RangesAtEndpoint tokenRanges,
java.util.concurrent.ExecutorService executor,
java.util.function.BooleanSupplier isCancelled) |
Constructor and Description |
---|
PendingAntiCompaction(java.util.UUID prsId,
java.util.Collection<ColumnFamilyStore> tables,
RangesAtEndpoint tokenRanges,
java.util.concurrent.ExecutorService executor,
java.util.function.BooleanSupplier isCancelled) |
Modifier and Type | Method and Description |
---|---|
java.util.Collection<OutgoingStream> |
CassandraStreamManager.createOutgoingStreams(StreamSession session,
RangesAtEndpoint replicas,
java.util.UUID pendingRepair,
PreviewKind previewKind) |
Modifier and Type | Class and Description |
---|---|
static class |
RangesAtEndpoint.Builder |
Modifier and Type | Method and Description |
---|---|
RangesAtEndpoint |
RangesAtEndpoint.Builder.build() |
static RangesAtEndpoint |
RangesAtEndpoint.concat(RangesAtEndpoint replicas,
RangesAtEndpoint extraReplicas) |
static RangesAtEndpoint |
RangesAtEndpoint.copyOf(java.util.List<Replica> replicas) |
static RangesAtEndpoint |
RangesAtEndpoint.empty(InetAddressAndPort endpoint) |
RangesAtEndpoint |
RangesByEndpoint.get(InetAddressAndPort endpoint) |
RangesAtEndpoint |
AbstractReplicationStrategy.getAddressReplicas(InetAddressAndPort endpoint) |
RangesAtEndpoint |
AbstractReplicationStrategy.getAddressReplicas(TokenMetadata metadata,
InetAddressAndPort endpoint) |
RangesAtEndpoint |
AbstractReplicationStrategy.getPendingAddressRanges(TokenMetadata metadata,
java.util.Collection<Token> pendingTokens,
InetAddressAndPort pendingAddress) |
RangesAtEndpoint |
AbstractReplicationStrategy.getPendingAddressRanges(TokenMetadata metadata,
Token pendingToken,
InetAddressAndPort pendingAddress) |
RangesAtEndpoint |
TokenMetadata.getPendingRanges(java.lang.String keyspaceName,
InetAddressAndPort endpoint) |
static RangesAtEndpoint |
RangesAtEndpoint.of(Replica... replicas) |
static RangesAtEndpoint |
RangesAtEndpoint.of(Replica replica) |
RangesAtEndpoint |
RangesAtEndpoint.onlyFull() |
RangesAtEndpoint |
RangesAtEndpoint.onlyTransient() |
RangesAtEndpoint |
RangesAtEndpoint.snapshot() |
RangesAtEndpoint |
RangesAtEndpoint.Builder.snapshot() |
protected RangesAtEndpoint |
RangesAtEndpoint.snapshot(AbstractReplicaCollection.ReplicaList newList) |
RangesAtEndpoint |
Replica.subtractIgnoreTransientStatus(Range<Token> subtract)
Don't use this method and ignore transient status unless you are explicitly handling it outside this method.
|
RangesAtEndpoint |
Replica.subtractSameReplication(RangesAtEndpoint toSubtract)
This is used exclusively in TokenMetadata to check if a portion of a range is already replicated
by an endpoint so that we only mark as pending the portion that is either not replicated sufficiently (transient
when we need full) or at all.
|
static RangesAtEndpoint |
RangesAtEndpoint.toDummyList(java.util.Collection<Range<Token>> ranges)
Use of this method to synthesize Replicas is almost always wrong.
|
RangesAtEndpoint |
RangesAtEndpoint.unwrap() |
Modifier and Type | Method and Description |
---|---|
static java.util.stream.Collector<Replica,RangesAtEndpoint.Builder,RangesAtEndpoint> |
RangesAtEndpoint.collector(InetAddressAndPort endpoint) |
ReplicaCollection.Builder<RangesAtEndpoint> |
RangesAtEndpoint.newBuilder(int initialCapacity) |
Modifier and Type | Method and Description |
---|---|
static RangesAtEndpoint |
RangesAtEndpoint.concat(RangesAtEndpoint replicas,
RangesAtEndpoint extraReplicas) |
static boolean |
RangesAtEndpoint.isDummyList(RangesAtEndpoint ranges) |
RangesAtEndpoint |
Replica.subtractSameReplication(RangesAtEndpoint toSubtract)
This is used exclusively in TokenMetadata to check if a portion of a range is already replicated
by an endpoint so that we only mark as pending the portion that is either not replicated sufficiently (transient
when we need full) or at all.
|
Constructor and Description |
---|
RangesByEndpoint(java.util.Map<InetAddressAndPort,RangesAtEndpoint> map) |
Modifier and Type | Method and Description |
---|---|
com.google.common.util.concurrent.ListenableFuture |
KeyspaceRepairManager.prepareIncrementalRepair(java.util.UUID sessionID,
java.util.Collection<ColumnFamilyStore> tables,
RangesAtEndpoint tokenRanges,
java.util.concurrent.ExecutorService executor,
java.util.function.BooleanSupplier isCancelled)
Isolate the unrepaired ranges of the given tables, and make referenceable by session id.
|
Modifier and Type | Method and Description |
---|---|
RangesAtEndpoint |
StorageService.getLocalReplicas(java.lang.String keyspaceName) |
Modifier and Type | Method and Description |
---|---|
static Pair<RangesAtEndpoint,RangesAtEndpoint> |
RangeRelocator.calculateStreamAndFetchRanges(RangesAtEndpoint currentRanges,
RangesAtEndpoint updatedRanges)
Calculate pair of ranges to stream/fetch for given two range collections
(current ranges for keyspace and ranges after move to new token)
With transient replication the added wrinkle is that if a range transitions from full to transient then
we need to stream the range despite the fact that we are retaining it as transient.
|
static Pair<RangesAtEndpoint,RangesAtEndpoint> |
RangeRelocator.calculateStreamAndFetchRanges(RangesAtEndpoint currentRanges,
RangesAtEndpoint updatedRanges)
Calculate pair of ranges to stream/fetch for given two range collections
(current ranges for keyspace and ranges after move to new token)
With transient replication the added wrinkle is that if a range transitions from full to transient then
we need to stream the range despite the fact that we are retaining it as transient.
|
Modifier and Type | Method and Description |
---|---|
static RangesByEndpoint |
RangeRelocator.calculateRangesToStreamWithEndpoints(RangesAtEndpoint streamRanges,
AbstractReplicationStrategy strat,
TokenMetadata tmdBefore,
TokenMetadata tmdAfter)
calculating endpoints to stream current ranges to if needed
in some situations node will handle current ranges as part of the new ranges
|
static Pair<RangesAtEndpoint,RangesAtEndpoint> |
RangeRelocator.calculateStreamAndFetchRanges(RangesAtEndpoint currentRanges,
RangesAtEndpoint updatedRanges)
Calculate pair of ranges to stream/fetch for given two range collections
(current ranges for keyspace and ranges after move to new token)
With transient replication the added wrinkle is that if a range transitions from full to transient then
we need to stream the range despite the fact that we are retaining it as transient.
|
Modifier and Type | Field and Description |
---|---|
RangesAtEndpoint |
StreamRequest.full |
RangesAtEndpoint |
StreamRequest.transientReplicas |
Modifier and Type | Method and Description |
---|---|
void |
StreamSession.addStreamRequest(java.lang.String keyspace,
RangesAtEndpoint fullRanges,
RangesAtEndpoint transientRanges,
java.util.Collection<java.lang.String> columnFamilies)
Request data fetch task to this session.
|
java.util.Collection<OutgoingStream> |
TableStreamManager.createOutgoingStreams(StreamSession session,
RangesAtEndpoint replicas,
java.util.UUID pendingRepair,
PreviewKind previewKind)
Returns a collection of
OutgoingStream s that contains the data selected by the
given replicas, pendingRepair, and preview. |
java.util.List<OutgoingStream> |
StreamSession.getOutgoingStreamsForRanges(RangesAtEndpoint replicas,
java.util.Collection<ColumnFamilyStore> stores,
java.util.UUID pendingRepair,
PreviewKind previewKind) |
StreamPlan |
StreamPlan.requestRanges(InetAddressAndPort from,
java.lang.String keyspace,
RangesAtEndpoint fullRanges,
RangesAtEndpoint transientRanges)
Request data in
keyspace and ranges from specific node. |
StreamPlan |
StreamPlan.requestRanges(InetAddressAndPort from,
java.lang.String keyspace,
RangesAtEndpoint fullRanges,
RangesAtEndpoint transientRanges,
java.lang.String... columnFamilies)
Request data in
columnFamilies under keyspace and ranges from specific node. |
StreamPlan |
StreamPlan.transferRanges(InetAddressAndPort to,
java.lang.String keyspace,
RangesAtEndpoint replicas,
java.lang.String... columnFamilies)
Add transfer task to send data of specific
columnFamilies under keyspace and ranges . |
Constructor and Description |
---|
StreamRequest(java.lang.String keyspace,
RangesAtEndpoint full,
RangesAtEndpoint transientReplicas,
java.util.Collection<java.lang.String> columnFamilies) |
Copyright © 2009-2022 The Apache Software Foundation