av9ash/GitBugs huggingface dataset:
Bug: InvalidQueryException: Order by on unknown column From cassandra-diff
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 23/Oct/20 03:49
Resolved: 02/Feb/21 19:16

Diff job fails with the following error,
{code:java}
  Caused by: shaded.com.datastax.driver.core.exceptions.InvalidQueryException: Order by on unknown column <column_name>
  at shaded.com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:49)
  at shaded.com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:35)
  at shaded.com.datastax.driver.core.AbstractSession.prepare(AbstractSession.java:97)
  at mme.cassandraclient.SessionWrapper.prepare(SessionWrapper.java:215)
  at org.apache.cassandra.diff.DiffCluster.getFullStatement(DiffCluster.java:272)
  at org.apache.cassandra.diff.DiffCluster.getStatementForTable(DiffCluster.java:204)
  at org.apache.cassandra.diff.DiffCluster.keyReader(DiffCluster.java:188)
  at org.apache.cassandra.diff.DiffCluster.fetchPartitionKeys(DiffCluster.java:125)
  at org.apache.cassandra.diff.DiffCluster.lambda$getPartitionKeys$0(DiffCluster.java:114)
  at org.apache.cassandra.diff.RetryStrategy.retry(RetryStrategy.java:21)
  at org.apache.cassandra.diff.DiffCluster.getPartitionKeys(DiffCluster.java:113)
{code}

The cause is that when building the select query, the ordered-by column names are not quoted. The server only sees the field names in lowercase, and it is unable to recognize. 

A simple unit test to prove that the field name needs to be quoted in the query builder in order to have the built query preserve the quotes. 

{code:java}
query = "SELECT * FROM t WHERE a='foo' ORDER BY \"bCol\" DESC;";
select = select().from("t").where(eq("a", "foo")).orderBy(desc("\"bCol\""));
assertEquals(select.toString(), query);
{code}
Bug: cassandra.logdir undefined when CASSANDRA_LOG_DIR
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 08/Oct/20 03:11
Resolved: 06/May/21 10:22

When ${cassandra.logdir} is used in logback.xml nodetool doesn’t use the env variable CASSANDRA_LOG_DIR or the default value. and complains
{noformat}
03:07:27,387 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[DEBUGLOG] - Failed to create parent directories for [/cassandra.logdir_IS_UNDEFINED/debug.log]03:07:27,387 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[DEBUGLOG] - Failed to create parent directories for [/cassandra.logdir_IS_UNDEFINED/debug.log]03:07:27,388 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[DEBUGLOG] - openFile(cassandra.logdir_IS_UNDEFINED/debug.log,true) call failed. java.io.FileNotFoundException: cassandra.logdir_IS_UNDEFINED/debug.log (No such file or directory) at java.io.FileNotFoundException: cassandra.logdir_IS_UNDEFINED/debug.log (No such file or directory)
...{noformat}
It’s different for cassandra for instance [https://github.com/apache/cassandra/blob/324267b3c0676ad31bd4f2fac0e2e673a9257a37/bin/cassandra#L186]. I feel like it should be added to [https://github.com/apache/cassandra/blob/06209037ea56b5a2a49615a99f1542d6ea1b2947/bin/nodetool], or that it should call cassandra-env.sh

 

Seen on 3.11 and 4.0-beta1
Bug: Fix flaky jvm-dtests that fail with Unable to contact any seeds
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 29/Oct/20 18:24
Resolved: 29/Apr/21 18:22

https://app.circleci.com/pipelines/github/dcapwell/cassandra/745/workflows/1c7e589e-b5af-4a56-b40a-43da424602c7/jobs/4231

{code}
test teardown failure
Unexpected error found in node logs (see stdout for full details). Errors: [ERROR [main] 2020-10-29 17:38:13,808 CassandraDaemon.java:817 - Exception encountered during startup
java.lang.IllegalStateException: Unable to contact any seeds!
	at org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:1601)
	at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:931)
	at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:892)
	at org.apache.cassandra.service.StorageService.initServer(StorageService.java:699)
	at org.apache.cassandra.service.StorageService.initServer(StorageService.java:635)
	at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:407)
	at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:671)
	at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:795), ERROR [main] 2020-10-29 17:38:13,808 CassandraDaemon.java:817 - Exception encountered during startup
java.lang.IllegalStateException: Unable to contact any seeds!
	at org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:1601)
	at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:931)
	at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:892)
	at org.apache.cassandra.service.StorageService.initServer(StorageService.java:699)
	at org.apache.cassandra.service.StorageService.initServer(StorageService.java:635)
	at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:407)
	at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:671)
	at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:795)]
{code}
Bug: gen-doc depends on jar
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 03/Oct/20 11:26
Resolved: 29/Apr/21 10:05

The target 'gen-doc' depends on 'jar' so let's add it the depends attribute. Patches for trunk and 3.11 are attached.
{noformat}
# ant gen-doc
gen-doc:
     [exec] python convert_yaml_to_rst.py ../conf/cassandra.yaml source/configuration/cassandra_config_file.rst
     [exec] python gen-nodetool-docs.py
     [exec] ls: cannot access '../bin/../build/apache-cassandra*.jar': No such file or directory
     [exec] ERROR: Nodetool failed to run, you likely need to build cassandra using ant jar from the top level directory
     [exec] Error: Could not find or load main class org.apache.cassandra.tools.NodeTool
     [exec] Makefile:64: recipe for target 'html' failed
     [exec] Traceback (most recent call last):
     [exec]   File "gen-nodetool-docs.py", line 68, in <module>
     [exec]     create_help_file()
     [exec]   File "gen-nodetool-docs.py", line 52, in create_help_file
     [exec]     raise cpe
     [exec]   File "gen-nodetool-docs.py", line 46, in create_help_file
     [exec]     subprocess.check_call([nodetool, "help"], stdout=output_file)
     [exec]   File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
     [exec]     raise CalledProcessError(retcode, cmd)
     [exec] subprocess.CalledProcessError: Command '['../bin/nodetool', 'help']' returned non-zero exit status 1.
     [exec] make: *** [html] Error 1
     [exec] Result: 2{noformat}
{{The then redundant 'jar' dependency on the 'artifacts' target could be removed too, though the attached patches don't include this modification.}}
Bug: 4.0 Quality: Replication Test Audit
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 05/Oct/20 11:37
Resolved: 08/Mar/21 17:16

This is a subtask of CASSANDRA-15579 focusing on replication.

I think that the main reference dtest for this is [replication_test.py|https://github.com/apache/cassandra-dtest/blob/master/replication_test.py]. We should identify which other tests cover this and identify what should be extended, similarly to what has been done with CASSANDRA-15977.

The doc [here|https://docs.google.com/document/d/1yPbquhAALIkkTRMmyOv5cceD5N5sPFMB1O4iOd3O7FM/edit?usp=sharing] describes the existing state of testing around replication.
Bug: 4.0 Quality: Coordination Test Audit
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 05/Oct/20 11:37
Resolved: 16/Feb/21 15:32

This is a subtask of CASSANDRA-15579 focusing on coordination.

I think that the main reference dtest for this is [consistency_test.py|https://github.com/apache/cassandra-dtest/blob/master/consistency_test.py]. We should identify which other tests cover this and identify what should be extended, similarly to what has been done with CASSANDRA-15977.

[This document|https://docs.google.com/document/d/1BBeGKla9tIPflZ2awkyfl5Hc_FTs3QYw98LWUnb1fTQ/edit?usp=sharing] aims to list and describe the existing functional tests for coordination, so we can have a broad view of what is currently covered.
Bug: Prevent unbounded number of flushing tasks
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 10/Nov/20 19:00
Resolved: 19/Jan/21 23:52

The cleaner thread is not prevented from queueing an unbounded number of flushing tasks for memtables that are almost empty.

This patch adds a mechanism to track the number of pending flushing
tasks in the memtable cleaner. Above the maximum number (2x the flushing
threads by default), only memtables using at least MCT memory will be
flushed, where MCT stands for Memory Cleanup Threshold.

This patch also fixes a possible problem tracking the memory marked as
"reclaiming" in the memtable allocators and pool. Writes that complete
only after a memtable has been scheduled for flushing, did not report
their memory as reclaiming. Normally this should be a small value of no
consequence, but if the flushing tasks are blocked for a long period,
and there is a sufficient number of writes, or these writes use
a sufficiently large quantity of memory, this would cause the memtable
cleaning algorithm to schedule repeated flushing tasks because the used
memory is always > reclaiming memory + MCT.
Bug: ClassNotFoundException: com.googlecode.concurrenttrees.radix.node.NodeFactory
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 27/Nov/20 01:11
Resolved: 02/Jan/21 09:49

	If you look at the pom for cassandra-all 4.0.0-beta-3, you'll notice that concurrent-trees is in dependencyManagement, but not dependencies. This might be going unnoticed as sasi is disabled by default now, but it can lead to a ClassNotFoundException. I presume this was accidental
Bug: mvn-install fails if no repo mirror is defined in settings.xml
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 16/Dec/20 20:15
Resolved: 02/Apr/21 08:58

Running {{ant mvn-install}} on Docker (image maven:3-openjdk-11) fails because [maven-ant-tasks|https://maven.apache.org/ant-tasks/index.html] tries to download some jars from Maven Central through HTTP instead of HTTPS. HTTP access to Central is not allowed anymore since the beginning of the year.

If you have an https mirror defined in your Maven settings.xml, you won't notice that problem though.

{noformat}
mvn-install:
[artifact:mvn] Downloading: org/apache/maven/apache-maven/3.0.3/apache-maven-3.0.3.pom from repository central at http://repo1.maven.org/maven2
[artifact:mvn] Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.0.3/apache-maven-3.0.3.pom
[artifact:mvn] [WARNING] Unable to get resource 'org.apache.maven:apache-maven:pom:3.0.3' from repository central (http://repo1.maven.org/maven2): Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.0.3/apache-maven-3.0.3.pom
[artifact:mvn] Downloading: org/apache/maven/apache-maven/3.0.3/apache-maven-3.0.3.pom from repository central at http://repo1.maven.org/maven2
[artifact:mvn] Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.0.3/apache-maven-3.0.3.pom
[artifact:mvn] [WARNING] Unable to get resource 'org.apache.maven:apache-maven:pom:3.0.3' from repository central (http://repo1.maven.org/maven2): Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.0.3/apache-maven-3.0.3.pom
     [null] An error has occurred while processing the Maven artifact tasks.
     [null]  Diagnosis:
     [null] 
     [null] Unable to resolve artifact: Missing:
     [null] ----------
     [null] 1) org.apache.maven:apache-maven:pom:3.0.3
     [null]   Path to dependency: 
     [null]   	1) org.apache.maven:super-pom:pom:2.0
     [null]   	2) org.apache.maven:apache-maven:pom:3.0.3
     [null] 
     [null] ----------
     [null] 1 required artifact is missing.
     [null] 
     [null] for artifact: 
     [null]   org.apache.maven:super-pom:pom:2.0
     [null] 
     [null] from the specified remote repositories:
     [null]   central (http://repo1.maven.org/maven2)
     [null] 
     [null] 

BUILD FAILED
/workspace/cassandra/build.xml:2365: The following error occurred while executing this line:
/workspace/cassandra/build.xml:490: Unable to resolve artifact: Missing:
----------
1) org.apache.maven:apache-maven:pom:3.0.3
  Path to dependency: 
  	1) org.apache.maven:super-pom:pom:2.0
  	2) org.apache.maven:apache-maven:pom:3.0.3

----------
1 required artifact is missing.

for artifact: 
  org.apache.maven:super-pom:pom:2.0

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)
{noformat}
Bug: Concurrent host replacements can exchange incomplete gossip state if one is a seed
Status: Open
Priority: Normal
Created: 01/Oct/20 22:18

Noticed the following error in the failure detector during a host replacement:

{noformat}
java.lang.IllegalArgumentException: Unknown endpoint: 10.38.178.98:7000
	at org.apache.cassandra.gms.FailureDetector.isAlive(FailureDetector.java:281)
	at org.apache.cassandra.service.StorageService.handleStateBootreplacing(StorageService.java:2502)
	at org.apache.cassandra.service.StorageService.onChange(StorageService.java:2182)
	at org.apache.cassandra.service.StorageService.onJoin(StorageService.java:3145)
	at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1242)
	at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1368)
	at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:50)
	at org.apache.cassandra.net.InboundSink.lambda$new$0(InboundSink.java:77)
	at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:93)
	at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:44)
	at org.apache.cassandra.net.InboundMessageHandler$ProcessMessage.run(InboundMessageHandler.java:884)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
{noformat}

This particular error looks benign, given that even if it occurs, the node continues to handle the {{BOOT_REPLACE}} state. There are two things we might be able to do to improve {{FailureDetector#isAlive()}} though:

1.) We don’t short circuit in the case that the endpoint in question is in quarantine after being removed. It may be useful to check for this so we can avoid logging an ERROR when the endpoint is clearly doomed/dead. (Quarantine works great when the gossip message is _from_ a quarantined endpoint, but in this case, that would be the new/replacing and not the old/replaced one.)

2.) We can reduce the severity of the logging from ERROR to WARN and provide better context around how to determine whether or not there’s actually a problem. (ex. “If this occurs while trying to determine liveness for a node that is currently being replaced, it can be safely ignored.”)
Bug: Remove RUN_STATIC_UPGRADE_MATRIX
Status: Open
Priority: Normal
Created: 12/Dec/20 21:15

RUN_STATIC_UPGRADE_MATRIX adds extra complexity and really tries to get the upgrade tests to run with only committed logic; this isn’t needed as running against the latest trunk solves the same problem.

This flag has been used for a long time and has shown to confuse people as they feel its needed when its really only for specific edge cases; we are moving the usage of this flag from CI.
Bug: Fix flaky test incompleteCommit - org.apache.cassandra.distributed.test.CASTest
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 08/Dec/20 21:14
Resolved: 19/Jan/21 08:30

https://app.circleci.com/pipelines/github/dcapwell/cassandra/839/workflows/bac611d1-ec5a-445c-95f4-aa3a4410a0dc/jobs/4926

{code}
org.apache.cassandra.exceptions.CasWriteTimeoutException: CAS operation timed out - encountered contentions: 0
	at org.apache.cassandra.service.StorageProxy.cas(StorageProxy.java:380)
	at org.apache.cassandra.cql3.statements.ModificationStatement.executeWithCondition(ModificationStatement.java:486)
	at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:454)
	at org.apache.cassandra.distributed.impl.Coordinator.executeInternal(Coordinator.java:100)
	at org.apache.cassandra.distributed.impl.Coordinator.lambda$executeWithResult$0(Coordinator.java:62)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
{code}
Bug: Fix flaky test org.apache.cassandra.distributed.test.NetstatsRepairStreamingTest testWithCompressionDisabled
Status: Resolved
Priority: Normal
Resolution: Cannot Reproduce
Created: 29/Oct/20 20:02
Resolved: 18/Jan/21 07:00

{code}
ava.lang.IllegalStateException: Table does not match - Active   Pending      Completed   Dropped
	at org.apache.cassandra.distributed.test.AbstractNetstatsStreaming$NetstatsOutputParser$SendingStatistics$SendingSSTable.parseTable(AbstractNetstatsStreaming.java:464)
	at org.apache.cassandra.distributed.test.AbstractNetstatsStreaming$NetstatsOutputParser$SendingStatistics.parseTable(AbstractNetstatsStreaming.java:349)
	at org.apache.cassandra.distributed.test.AbstractNetstatsStreaming$NetstatsOutputParser.parse(AbstractNetstatsStreaming.java:172)
	at org.apache.cassandra.distributed.test.NetstatsRepairStreamingTest.executeTest(NetstatsRepairStreamingTest.java:85)
	at org.apache.cassandra.distributed.test.NetstatsRepairStreamingTest.testWithCompressionDisabled(NetstatsRepairStreamingTest.java:47)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
{code}
Bug: Fix upgrade python dtest test_crc_check_chance_upgrade - upgrade_crc_check_chance_test.TestCrcCheckChanceUpgrade
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 15/Dec/20 17:57
Resolved: 08/Jan/21 17:48

https://app.circleci.com/pipelines/github/dcapwell/cassandra/850/workflows/79486fdd-06d0-4d04-aa32-0fa648182356/jobs/5019/tests

test_crc_check_chance_upgrade - upgrade_crc_check_chance_test.TestCrcCheckChanceUpgrade
upgrade_crc_check_chance_test.py

{code}
>       self.verify_new_crc_check_chance(node1)

upgrade_crc_check_chance_test.py:66: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
upgrade_crc_check_chance_test.py:115: in verify_new_crc_check_chance
    session = self.patient_exclusive_cql_connection(node)
dtest_setup.py:278: in patient_exclusive_cql_connection
    **kwargs
dtest_setup.py:39: in retry_till_success
    return fun(*args, **kwargs)
dtest_setup.py:188: in exclusive_cql_connection
    **kwargs)
dtest_setup.py:216: in _create_session
    session = cluster.connect(wait_for_all_pools=True)
cassandra/cluster.py:1667: in cassandra.cluster.Cluster.connect
    ???
cassandra/cluster.py:1703: in cassandra.cluster.Cluster.connect
    ???
cassandra/cluster.py:1690: in cassandra.cluster.Cluster.connect
    ???
cassandra/cluster.py:3488: in cassandra.cluster.ControlConnection.connect
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1:9042': DriverException('ProtocolError returned from server while using explicitly set client protocol_version 4',)})

cassandra/cluster.py:3533: NoHostAvailable
{code}
Bug: Too defensive check when picking sstables for preview repair
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 18/Nov/20 14:32
Resolved: 18/Jan/21 08:33

We fail starting any preview repair if any sstable is marked pending but the session not being finalized. The current check does not care if the range we are previewing intersects with the sstable marked pending - this means that we abort too many preview repairs.
Bug: Fix failing python update dtests
Status: Resolved
Priority: Normal
Resolution: Done
Created: 09/Dec/20 21:52
Resolved: 08/Jan/21 19:06

https://app.circleci.com/pipelines/github/dcapwell/cassandra/841/workflows/bcadf6e6-8d04-4010-8a47-99f7f9b5ac1d/jobs/4949/parallel-runs/23?filterBy=ALL

Over 600 upgrade tests are failing, this ticket is to root cause each failure and fix the issues (in different tickets).
Bug: Memtable heap size is severely underestimated
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 09/Dec/20 09:04
Resolved: 19/Jan/21 19:24

We seem to be estimating the size of the on-heap memtable metadata to be around half of what it actually is. For example, during a [read benchmark which writes 1 million single-long rows|https://github.com/blambov/cassandra/blob/memtable-heap/test/microbench/org/apache/cassandra/test/microbench/instance/ReadTestSmallPartitions.java] the memtable reports
{code}
1000000 ops, 58.174MiB serialized bytes, 385.284MiB (19%) on heap, 0.000KiB (0%) off-heap
{code}
while a heap dump taken at this point:
 !image-2020-12-09-10-57-21-994.png! 
lists an usage of about 666MB altogether.

Switching to {{offheap_objects}}, the reported numbers are
{code}
1000000 ops, 58.174MiB serialized bytes, 233.650MiB (12%) on heap, 53.406MiB (3%) off-heap
{code}
while actual heap usage:
 !image-2020-12-09-11-01-31-273.png! 
is about 442MB.

Looking at the code we definitely are not counting the {{AtomicBTreePartition.Holder}}, {{EncodingStats}}, liveness and deletion info objects associated with each partition, and most probably others.
Bug: Flaky jvm-dtest: org.apache.cassandra.distributed.test.ring.NodeNotInRingTest.nodeNotInRingTest
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 27/Oct/20 17:53
Resolved: 20/Jan/21 18:49

Test failed during CI build. Stack trace attached below, 

[https://app.circleci.com/pipelines/github/yifan-c/cassandra/135/workflows/371dee8e-36d2-41a1-b27f-f7578496a1fe/jobs/681]
{code:java}
Testcase: nodeNotInRingTest(org.apache.cassandra.distributed.test.ring.NodeNotInRingTest):  FAILED
expected:<86> but was:<100>
junit.framework.AssertionFailedError: expected:<86> but was:<100>
 at org.apache.cassandra.distributed.test.ring.NodeNotInRingTest.nodeNotInRingTest(NodeNotInRingTest.java:60)
 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43){code}

Besides the flakiness, the expected and the actual values are swapped in the assertion statement.
Bug: Check all SSTables are correctly placed in tablestats
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 12/Dec/20 00:34
Resolved: 13/Feb/21 04:45

Below option was added to nodetool tablestats
{code:java}
-l, --sstable-location-check{code}
Its goal is to show whether all sstables are located correctly or there are misplaced ones.