Skip to content

Commit e093b34

Browse files
Adjust based on the latest trunk
1 parent 86c76a0 commit e093b34

6 files changed

Lines changed: 14 additions & 29 deletions

File tree

src/java/org/apache/cassandra/repair/autorepair/AutoRepairState.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ public RepairCoordinator getRepairRunnable(String keyspace, List<String> tables,
312312
{
313313
RepairOption option = new RepairOption(RepairParallelism.PARALLEL, primaryRangeOnly, false, false,
314314
AutoRepairService.instance.getAutoRepairConfig().getRepairThreads(repairType), ranges,
315-
!ranges.isEmpty(), false, false, PreviewKind.REPAIRED, false, true, false, false);
315+
!ranges.isEmpty(), false, false, PreviewKind.REPAIRED, false, true, false, false, false);
316316

317317
option.getColumnFamilies().addAll(tables);
318318

@@ -332,7 +332,7 @@ public RepairCoordinator getRepairRunnable(String keyspace, List<String> tables,
332332
{
333333
RepairOption option = new RepairOption(RepairParallelism.PARALLEL, primaryRangeOnly, true, false,
334334
AutoRepairService.instance.getAutoRepairConfig().getRepairThreads(repairType), ranges,
335-
!ranges.isEmpty(), false, false, PreviewKind.NONE, true, true, false, false);
335+
!ranges.isEmpty(), false, false, PreviewKind.NONE, true, true, false, false, false);
336336

337337
option.getColumnFamilies().addAll(filterOutUnsafeTables(keyspace, tables));
338338

@@ -377,7 +377,7 @@ public RepairCoordinator getRepairRunnable(String keyspace, List<String> tables,
377377
{
378378
RepairOption option = new RepairOption(RepairParallelism.PARALLEL, primaryRangeOnly, false, false,
379379
AutoRepairService.instance.getAutoRepairConfig().getRepairThreads(repairType), ranges,
380-
!ranges.isEmpty(), false, false, PreviewKind.NONE, true, true, false, false);
380+
!ranges.isEmpty(), false, false, PreviewKind.NONE, true, true, false, false, false);
381381

382382
option.getColumnFamilies().addAll(tables);
383383

src/java/org/apache/cassandra/repair/autorepair/AutoRepairUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ protected static TreeSet<UUID> getHostIdsInCurrentRing(RepairType repairType, Se
418418
TreeSet<UUID> hostIdsInCurrentRing = new TreeSet<>();
419419
for (NodeAddresses node : allNodesInRing)
420420
{
421-
String nodeDC = DatabaseDescriptor.getEndpointSnitch().getDatacenter(node.broadcastAddress);
421+
String nodeDC = DatabaseDescriptor.getLocator().location(node.broadcastAddress).datacenter;
422422
if (AutoRepairService.instance.getAutoRepairConfig().getIgnoreDCs(repairType).contains(nodeDC))
423423
{
424424
logger.info("Ignore node {} because its datacenter is {}", node, nodeDC);
@@ -797,7 +797,7 @@ public static boolean shouldConsiderKeyspace(Keyspace ks)
797797
if (replicationStrategy instanceof NetworkTopologyStrategy)
798798
{
799799
Set<String> datacenters = ((NetworkTopologyStrategy) replicationStrategy).getDatacenters();
800-
String localDC = DatabaseDescriptor.getEndpointSnitch().getDatacenter(FBUtilities.getBroadcastAddressAndPort());
800+
String localDC = DatabaseDescriptor.getLocator().local().datacenter;
801801
if (!datacenters.contains(localDC))
802802
{
803803
repair = false;

src/java/org/apache/cassandra/repair/autorepair/RepairTokenRangeSplitter.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@
3737
import java.util.stream.Collectors;
3838

3939
import com.google.common.annotations.VisibleForTesting;
40+
41+
import org.apache.cassandra.db.DataRange;
42+
import org.apache.cassandra.db.filter.ColumnFilter;
43+
import org.apache.cassandra.io.sstable.SSTableReadsListener;
44+
import org.apache.cassandra.io.sstable.format.big.BigTableReader;
4045
import org.apache.cassandra.tcm.compatibility.TokenRingUtils;
4146
import org.apache.cassandra.utils.FBUtilities;
4247
import org.slf4j.Logger;
@@ -54,7 +59,6 @@
5459
import org.apache.cassandra.dht.AbstractBounds;
5560
import org.apache.cassandra.dht.Range;
5661
import org.apache.cassandra.dht.Token;
57-
import org.apache.cassandra.io.sstable.ISSTableScanner;
5862
import org.apache.cassandra.io.sstable.format.SSTableReader;
5963
import org.apache.cassandra.io.sstable.format.big.BigTableScanner;
6064
import org.apache.cassandra.io.sstable.metadata.CompactionMetadata;
@@ -692,12 +696,11 @@ static SizeEstimate getSizesForRangeOfSSTables(AutoRepairConfig.RepairType repai
692696
// get the bounds of the sstable for this range using the index file but do not actually read it.
693697
List<AbstractBounds<PartitionPosition>> bounds = BigTableScanner.makeBounds(reader, Collections.singleton(tokenRange));
694698

695-
ISSTableScanner rangeScanner = reader.getScanner(Collections.singleton(tokenRange));
696-
// Type check scanner returned as it may be an EmptySSTableScanner if the range is not covered in the
699+
// Type check bounds to check if the range is not covered in the
697700
// SSTable, in this case we will avoid incrementing approxBytesInRange.
698-
if (rangeScanner instanceof BigTableScanner)
701+
if (!bounds.isEmpty() && reader instanceof BigTableReader)
699702
{
700-
try (BigTableScanner scanner = (BigTableScanner) rangeScanner)
703+
try (BigTableScanner scanner = (BigTableScanner) BigTableScanner.getScanner((BigTableReader) reader, ColumnFilter.all(reader.metadata()), DataRange.forTokenRange(tokenRange), SSTableReadsListener.NOOP_LISTENER))
701704
{
702705
assert bounds.size() == 1;
703706

@@ -714,7 +717,6 @@ static SizeEstimate getSizesForRangeOfSSTables(AutoRepairConfig.RepairType repai
714717
approxBytesInRange += Math.min(approximateRangeBytesInSSTable, sstableSize);
715718
}
716719
}
717-
718720
}
719721
catch (IOException | CardinalityMergeException e)
720722
{

test/unit/org/apache/cassandra/config/YamlConfigurationLoaderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,4 +497,4 @@ public static Config load(String path)
497497
}
498498
return new YamlConfigurationLoader().loadConfig(url);
499499
}
500-
}
500+
}

test/unit/org/apache/cassandra/repair/autorepair/AutoRepairUtilsTest.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.apache.cassandra.cql3.UntypedResultSet;
3535
import org.apache.cassandra.db.Keyspace;
3636
import org.apache.cassandra.db.marshal.UUIDType;
37-
import org.apache.cassandra.locator.IEndpointSnitch;
3837
import org.apache.cassandra.locator.InetAddressAndPort;
3938
import org.apache.cassandra.repair.autorepair.AutoRepairConfig.RepairType;
4039
import org.apache.cassandra.repair.autorepair.AutoRepairUtils.AutoRepairHistory;
@@ -46,8 +45,6 @@
4645
import org.apache.cassandra.service.StorageService;
4746
import org.apache.cassandra.tcm.membership.NodeAddresses;
4847
import org.apache.cassandra.utils.FBUtilities;
49-
import org.mockito.Mock;
50-
import org.mockito.MockitoAnnotations;
5148

5249
import static org.apache.cassandra.Util.setAutoRepairEnabled;
5350
import static org.apache.cassandra.config.CassandraRelevantProperties.SYSTEM_DISTRIBUTED_DEFAULT_RF;
@@ -62,7 +59,6 @@
6259
import static org.junit.Assert.assertNotNull;
6360
import static org.junit.Assert.assertNull;
6461
import static org.junit.Assert.assertTrue;
65-
import static org.mockito.Mockito.when;
6662

6763
public class AutoRepairUtilsTest extends CQLTester
6864
{
@@ -71,18 +67,12 @@ public class AutoRepairUtilsTest extends CQLTester
7167

7268
static InetAddressAndPort localEndpoint;
7369

74-
@Mock
75-
static IEndpointSnitch snitchMock;
76-
77-
static IEndpointSnitch defaultSnitch;
78-
7970
@BeforeClass
8071
public static void setupClass() throws Exception
8172
{
8273
SYSTEM_DISTRIBUTED_DEFAULT_RF.setInt(1);
8374
setAutoRepairEnabled(true);
8475
requireNetwork();
85-
defaultSnitch = DatabaseDescriptor.getEndpointSnitch();
8676
localEndpoint = FBUtilities.getBroadcastAddressAndPort();
8777
hostId = StorageService.instance.getHostIdForEndpoint(localEndpoint);
8878
StorageService.instance.doAutoRepairSetup();
@@ -96,8 +86,6 @@ public void setup()
9686
QueryProcessor.executeInternal(String.format("CREATE TABLE %s.%s (k text, s text static, i int, v text, primary key(k,i))", "ks", "tbl"));
9787

9888
AutoRepair.SLEEP_IF_REPAIR_FINISHES_QUICKLY = new DurationSpec.IntSecondsBound("0s");
99-
MockitoAnnotations.initMocks(this);
100-
DatabaseDescriptor.setEndpointSnitch(defaultSnitch);
10189
QueryProcessor.executeInternal(String.format(
10290
"TRUNCATE %s.%s",
10391
SchemaConstants.DISTRIBUTED_KEYSPACE_NAME, SystemDistributedKeyspace.AUTO_REPAIR_HISTORY));
@@ -233,10 +221,6 @@ public void testGetHostIdsInCurrentRing_multiple_nodes()
233221
InetAddressAndPort ignoredEndpoint = localEndpoint.withPort(localEndpoint.getPort() + 1);
234222
InetAddressAndPort deadEndpoint = localEndpoint.withPort(localEndpoint.getPort() + 2);
235223
DatabaseDescriptor.getAutoRepairConfig().setIgnoreDCs(repairType, ImmutableSet.of("dc2"));
236-
DatabaseDescriptor.setEndpointSnitch(snitchMock);
237-
when(snitchMock.getDatacenter(localEndpoint)).thenReturn("dc1");
238-
when(snitchMock.getDatacenter(ignoredEndpoint)).thenReturn("dc2");
239-
when(snitchMock.getDatacenter(deadEndpoint)).thenReturn("dc1");
240224

241225
TreeSet<UUID> hosts = AutoRepairUtils.getHostIdsInCurrentRing(repairType, ImmutableSet.of(new NodeAddresses(localEndpoint), new NodeAddresses(ignoredEndpoint), new NodeAddresses(deadEndpoint)));
242226

test/unit/org/apache/cassandra/repair/autorepair/SSTableRepairedAtTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.apache.cassandra.db.ColumnFamilyStore;
3535
import org.apache.cassandra.db.Keyspace;
3636
import org.apache.cassandra.exceptions.ConfigurationException;
37-
import org.apache.cassandra.exceptions.InvalidRequestException;
3837
import org.apache.cassandra.io.sstable.format.SSTableReader;
3938
import org.apache.cassandra.service.StorageService;
4039

0 commit comments

Comments
 (0)