mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-4.0' into cassandra-4.1
This commit is contained in:
commit
df64a5aa0d
|
|
@ -6,6 +6,7 @@
|
||||||
* Allow empty keystore_password in encryption_options (CASSANDRA-18778)
|
* Allow empty keystore_password in encryption_options (CASSANDRA-18778)
|
||||||
* Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697)
|
* Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697)
|
||||||
Merged from 4.0:
|
Merged from 4.0:
|
||||||
|
* Fix nodetool repair_admin summarize-pending command to not throw exception (CASSANDRA-19014)
|
||||||
* Fix cassandra-stress in simplenative mode with prepared statements (CASSANDRA-18744)
|
* Fix cassandra-stress in simplenative mode with prepared statements (CASSANDRA-18744)
|
||||||
* Fix filtering system ks sstables for relocation on startup (CASSANDRA-18963)
|
* Fix filtering system ks sstables for relocation on startup (CASSANDRA-18963)
|
||||||
* Remove completed coordinator sessions (CASSANDRA-18903)
|
* Remove completed coordinator sessions (CASSANDRA-18903)
|
||||||
|
|
|
||||||
|
|
@ -78,9 +78,10 @@ public class PendingStats
|
||||||
Map<String, Object> values = new HashMap<>();
|
Map<String, Object> values = new HashMap<>();
|
||||||
values.put(COMPOSITE_NAMES[0], keyspace);
|
values.put(COMPOSITE_NAMES[0], keyspace);
|
||||||
values.put(COMPOSITE_NAMES[1], table);
|
values.put(COMPOSITE_NAMES[1], table);
|
||||||
values.put(COMPOSITE_NAMES[2], pending.toComposite());
|
values.put(COMPOSITE_NAMES[2], total.toComposite());
|
||||||
values.put(COMPOSITE_NAMES[3], finalized.toComposite());
|
values.put(COMPOSITE_NAMES[3], pending.toComposite());
|
||||||
values.put(COMPOSITE_NAMES[4], failed.toComposite());
|
values.put(COMPOSITE_NAMES[4], finalized.toComposite());
|
||||||
|
values.put(COMPOSITE_NAMES[5], failed.toComposite());
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return new CompositeDataSupport(COMPOSITE_TYPE, values);
|
return new CompositeDataSupport(COMPOSITE_TYPE, values);
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ import org.apache.cassandra.service.ActiveRepairService;
|
||||||
import org.apache.cassandra.streaming.PreviewKind;
|
import org.apache.cassandra.streaming.PreviewKind;
|
||||||
import org.apache.cassandra.utils.TimeUUID;
|
import org.apache.cassandra.utils.TimeUUID;
|
||||||
|
|
||||||
|
import static java.util.Arrays.stream;
|
||||||
import static org.apache.cassandra.distributed.api.Feature.GOSSIP;
|
import static org.apache.cassandra.distributed.api.Feature.GOSSIP;
|
||||||
import static org.apache.cassandra.distributed.api.Feature.NETWORK;
|
import static org.apache.cassandra.distributed.api.Feature.NETWORK;
|
||||||
import static org.apache.cassandra.repair.consistent.ConsistentSession.State.REPAIRING;
|
import static org.apache.cassandra.repair.consistent.ConsistentSession.State.REPAIRING;
|
||||||
|
|
@ -51,6 +52,27 @@ import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class IncRepairAdminTest extends TestBaseImpl
|
public class IncRepairAdminTest extends TestBaseImpl
|
||||||
{
|
{
|
||||||
|
@Test
|
||||||
|
public void testRepairAdminSummarizePending() throws IOException
|
||||||
|
{
|
||||||
|
try (Cluster cluster = init(Cluster.build(1)
|
||||||
|
.withConfig(config -> config.with(GOSSIP).with(NETWORK))
|
||||||
|
.start()))
|
||||||
|
{
|
||||||
|
// given a cluster with a table
|
||||||
|
cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tbl (k INT PRIMARY KEY, v INT)");
|
||||||
|
// when running repair_admin summarize-pending
|
||||||
|
NodeToolResult res = cluster.get(1).nodetoolResult("repair_admin", "summarize-pending");
|
||||||
|
// then the table info should be present in the output
|
||||||
|
res.asserts().success();
|
||||||
|
String outputLine = stream(res.getStdout().split("\n"))
|
||||||
|
.filter(l -> l.contains(KEYSPACE) && l.contains("tbl"))
|
||||||
|
.findFirst()
|
||||||
|
.orElseThrow(() -> new AssertionError("should find tbl table in output of repair_admin summarize-pending"));
|
||||||
|
assertTrue("should contain information about zero pending bytes", outputLine.contains("0 bytes (0 sstables / 0 sessions)"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testManualSessionFail() throws IOException
|
public void testManualSessionFail() throws IOException
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue