av9ash/GitBugs huggingface dataset:
Bug: org.apache.cassandra.db.compaction.CompactionStrategyManagerBoundaryReloadTest.testReload fails when running with TrieMemtables
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 11/Jan/23 19:13
Resolved: 06/Mar/23 21:04

https://app.circleci.com/pipelines/github/dcapwell/cassandra/1771/workflows/1bd920c8-8568-44b3-9e8b-b152a73cf4fc/jobs/15393

{code}
java.lang.RuntimeException: Error setting schema for test (query was: alter table cql_test_keyspace.table_01 with compaction = {'class': 'SizeTieredCompactionStrategy', 'enabled': false})
	at org.apache.cassandra.cql3.CQLTester.schemaChange(CQLTester.java:1222)
	at org.apache.cassandra.cql3.CQLTester.alterTable(CQLTester.java:1009)
	at org.apache.cassandra.db.compaction.CompactionStrategyManagerBoundaryReloadTest.testReload(CompactionStrategyManagerBoundaryReloadTest.java:82)
Caused by: java.lang.ClassCastException: org.apache.cassandra.dht.ByteOrderedPartitioner$BytesToken cannot be cast to org.apache.cassandra.dht.Murmur3Partitioner$LongToken
	at org.apache.cassandra.dht.Murmur3Partitioner$1.valueForToken(Murmur3Partitioner.java:68)
	at org.apache.cassandra.dht.Splitter$WeightedRange.totalTokens(Splitter.java:278)
	at org.apache.cassandra.dht.Splitter.splitOwnedRanges(Splitter.java:129)
	at org.apache.cassandra.db.ColumnFamilyStore.localRangeSplits(ColumnFamilyStore.java:1504)
	at org.apache.cassandra.db.memtable.AbstractShardedMemtable.<init>(AbstractShardedMemtable.java:65)
	at org.apache.cassandra.db.memtable.TrieMemtable.<init>(TrieMemtable.java:142)
	at org.apache.cassandra.db.memtable.TrieMemtable$Factory.create(TrieMemtable.java:688)
	at org.apache.cassandra.db.ColumnFamilyStore.createMemtable(ColumnFamilyStore.java:1375)
	at org.apache.cassandra.db.ColumnFamilyStore$Flush.<init>(ColumnFamilyStore.java:1173)
	at org.apache.cassandra.db.ColumnFamilyStore$Flush.<init>(ColumnFamilyStore.java:1137)
	at org.apache.cassandra.db.ColumnFamilyStore.switchMemtable(ColumnFamilyStore.java:1000)
	at org.apache.cassandra.db.ColumnFamilyStore.switchMemtableIfCurrent(ColumnFamilyStore.java:981)
	at org.apache.cassandra.db.ColumnFamilyStore.switchMemtableOrNotify(ColumnFamilyStore.java:966)
	at org.apache.cassandra.db.ColumnFamilyStore.reload(ColumnFamilyStore.java:393)
{code}

First reported to slack: https://the-asf.slack.com/archives/CK23JSY2K/p1673382016638189
Bug: WEBSITE - Add DoorDash blog post to Resources section
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 23/Feb/23 05:52
Resolved: 02/Mar/23 06:23

Patch contributed by [Anthony Palomarez|https://github.com/tonyxrandall]:
* Blog post - https://doordash.engineering/2021/02/02/building-a-more-reliable-checkout-service-with-kotlin/
* PR - https://github.com/apache/cassandra-website/pull/211
Bug: Using SELECT COUNT(*) FROM... LIMIT 1 in the returning section results in ClassCastException
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 07/Feb/23 14:45
Resolved: 27/Feb/23 11:58

{noformat}
cqlsh> 
BEGIN TRANSACTION 
  LET row1 = (SELECT * FROM ks.tbl1 WHERE k = 5); 
  SELECT COUNT(*) FROM ks.tbl1 LIMIT 1; 
  IF row1 IS NULL THEN 
    INSERT INTO ks.tbl1 (k, v) VALUES (5, 10);
  END IF
COMMIT TRANSACTION;

NoHostAvailable: ('Unable to complete the operation against any hosts', {<Host: 127.0.0.1:9042 datacenter1>: <Error from server: code=0000 [Server error] message="java.lang.ClassCastException: org.apache.cassandra.db.PartitionRangeReadCommand cannot be cast to org.apache.cassandra.db.SinglePartitionReadQuery$Group">})
{noformat}
Bug: Update and unify copyright year
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 13/Feb/23 18:40
Resolved: 22/Feb/23 16:32

Stefan suggested we update the year in various place for our copyright, and I noticed in build.xml we do this differently between branches.  In 3.0 we use ${YEAR} and then in later branches we have hardcoded dates.  This ticket serves to update these and unify how we specify them across branches.
Bug: Paxos read throws TimeoutException instead of retrying when contending with writes when it could retry
Status: Triage Needed
Priority: Normal
Created: 21/Feb/23 20:59

[Paxos.read currently copies the code to throw timeout exception|https://github.com/apache/cassandra/blob/ece0c4a44c9209dc64240f3f33ca7a57d7548daa/src/java/org/apache/cassandra/service/paxos/Paxos.java#L873] if the read had side effects. This doesn’t make much sense because the empty proposal doesn’t have a side effect so it should be safe to retry the empty proposal instead of throwing timeout immediately.

The impact of this is a little more severe because it’s also [not waiting during propose|https://github.com/apache/cassandra/blob/ece0c4a44c9209dc64240f3f33ca7a57d7548daa/src/java/org/apache/cassandra/service/paxos/PaxosPropose.java#L166] to see if there wouldn’t have been side effects for its empty proposal so it will always think there were side effects and timeout immediately if there are any refusals.

Of course this only ever happens when it thinks the read might not be linearizable because it witnessed some in progress operation during the prrepare/promise phase.

This should be pretty easy to fix either by removing the side effect immediate timeout code entirely, or at least improved by actually waiting for side effects during propose.
Bug: Byteman rule in stop_data_reads.btm cannot compile against accord.messages.ReplyContext
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 02/Feb/23 16:50
Resolved: 20/Feb/23 20:47

The Python {{read_repair_test}} relies on a Byteman rule on the {{doVerb()}} method in {{ReadCommandVerbHandler}}, but {{accord.messages.ReplyContext}} isn’t on the classpath. This is probably because we don't include it in the list of jars created in {{byteman_validate}}.

{noformat}
AssertionError: byteman script didn't compile
  Checking rule disable data reads against class org.apache.cassandra.db.ReadCommandVerbHandler
  Parsed rule "disable data reads" for class org.apache.cassandra.db.ReadCommandVerbHandler
  ERROR : Failed to check rule "disable data reads" loaded from /home/cassandra/cassandra-dtest/byteman/read_repair/stop_data_reads.btm line 8 against method doVerb(org.apache.cassandra.net.Message) void
  java.lang.NoClassDefFoundError: accord/messages/ReplyContext
{noformat}

ex. https://app.circleci.com/pipelines/github/maedhroz/cassandra/686/workflows/ffd1e528-b8ec-4534-a333-ab450e110e89/jobs/6481/tests#failed-test-0

It might make sense to fix this after CASSANDRA-18204 wraps up, so we know exactly how the Accord library is pulled into C*. Then, once we do fix it, we should fix in a way that still works w/ 4.0 and 4.1, etc. (i.e. Don't assume the Accord library must be present.)
Bug: Timeout occurred. Please note the time in the report does not reflect the time until the timeout.
Status: Resolved
Priority: Normal
Resolution: Won't Fix
Created: 20/Feb/23 02:17
Resolved: 20/Feb/23 08:42

https://ci-cassandra.apache.org/job/Cassandra-4.0/544/testReport/org.apache.cassandra.service/ClientWarningsTest/terminated_successfully/

https://ci-cassandra.apache.org/job/Cassandra-trunk/1462/testReport/org.apache.cassandra.service.paxos/PaxosRepairHistoryTest/testRandomTrims/
Bug: MessagingService should be able deliver local messages (messages to self) without using a network interface.
Status: Triage Needed
Priority: Normal
Created: 26/Jan/23 15:06

At the moment, in various places in the code, there are special code paths for local message handling. It usually looks like this:

 
{code:java}
if (replica.isSelf)
  // deal with the message locally by manually invoking a handling method
else
  messagingService.send(...){code}
 

This pattern is error-prone, as failing to recognize local messages results in pushing them through a local network interface. This may introduce a significant performance penalty. 
It also makes understanding the code harder, as there are two separate code paths for message handling (local path and IVerbHandler).

Instead, MessagingService should pass local messages directly to the appropriate IVerbHandler. Once this is done, all the `if (replica.isSelf) ... else ...` occurrences could be refactored to simply calling `messagingService.send(...)`. This would move message handling logic into a single place (IVerbHandler).
Bug: WEBSITE - Add "registered" symbol (R) to first occurrence of "Cassandra" on homepage + footer
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 23/Jan/23 06:18
Resolved: 13/Feb/23 08:30

In response to the review by Mark Thomas/ASF Brand Management and in-line with the ASF [Apache Website Project Branding Policy|https://www.apache.org/foundation/marks/pmcs] specifically:

{quote}At the top of each project or product homepage, and on the top banner of each page where the project name appears, you should include the appropriate ™ or ® symbol next to the first main occurrence of the "Apache Foo" project name, both in header/title text and at the name's first appearance in running text. This highlights our trademark claim and emphasizes its importance to us.{quote}

we need to add the "registered" symbol (®) to:
* the first occurrence of "Cassandra" on the homepage, and
* the main occurrence of "Cassandra" in the footer.
Bug: Test Failures: org.apache.cassandra.net.ProxyHandlerConnectionsTest.testExpireSome 
Status: Triage Needed
Priority: Normal
Created: 10/Feb/23 17:11

Seen once, filed 2/10/23

 
h1. Regression

org.apache.cassandra.net.ProxyHandlerConnectionsTest.testExpireSome-cdc (from org.apache.cassandra.net.ProxyHandlerConnectionsTest-cdc)
Failing for the past 1 build (Since [#270|https://ci-cassandra.apache.org/job/Cassandra-4.1/270/] )
[Took 1 min 0 sec.|https://ci-cassandra.apache.org/job/Cassandra-4.1/270/testReport/org.apache.cassandra.net/ProxyHandlerConnectionsTest/testExpireSome_cdc_2/history]
 
!https://ci-cassandra.apache.org/static/f3f9be2d/images/32x32/health-80plus.png! Failed 1 times in the last 14 runs. Flakiness: 15%, Stability: 92%
h3. Stacktrace

java.util.concurrent.TimeoutException at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1886) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2021) at org.apache.cassandra.net.ProxyHandlerConnectionsTest.waitForCondition(ProxyHandlerConnectionsTest.java:280) at org.apache.cassandra.net.ProxyHandlerConnectionsTest.lambda$testExpireSome$15(ProxyHandlerConnectionsTest.java:161) at org.apache.cassandra.net.ProxyHandlerConnectionsTest.doTestManual(ProxyHandlerConnectionsTest.java:386) at org.apache.cassandra.net.ProxyHandlerConnectionsTest.testOneManual(ProxyHandlerConnectionsTest.java:358) at org.apache.cassandra.net.ProxyHandlerConnectionsTest.testOneManual(ProxyHandlerConnectionsTest.java:352) at org.apache.cassandra.net.ProxyHandlerConnectionsTest.testExpireSome(ProxyHandlerConnectionsTest.java:141) 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)
h3. Standard Output

DEBUG [main] 2023-02-07 23:53:40,345 InternalLoggerFactory.java:63 - Using SLF4J as the default logging framework DEBUG [main] 2023-02-07 23:53:40,382 PlatformDependent0.java:417 - -Dio.netty.noUnsafe: false DEBUG [main] 2023-02-07 23:53:40,382 PlatformDependent0.java:897 - Java version: 8 DEBUG [main] 2023-02-07 23:53:40,384 PlatformDependent0.java:130 - sun.misc.Unsafe.theUnsafe: available DEBUG [main] 2023-02-07 23:53:40,385 PlatformDependent0.java:154 - sun.misc.Unsafe.copyMemory: available ...[truncated 244215 chars]... 7 23:54:32,913 DefaultChannelPipeline.java:1182 - Discarded inbound message BufferPoolAllocator$Wrapped(ridx: 0, widx: 8, cap: 96) that reached at the tail of the pipeline. Please check your pipeline configuration. DEBUG [Messaging-EventLoop-3-2] 2023-02-07 23:54:32,913 DefaultChannelPipeline.java:1198 - Discarded message pipeline : [Internode Error Exclusions, ssl, InboundProxyHandler#0, DefaultChannelPipeline$TailContext#0]. Channel : [id: 0xcf2bc542, L:/127.0.0.1:17012 - R:/127.0.0.1:44866].
Bug: WEBSITE - Publish Cassandra Forward on homepage, Events page
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 09/Feb/23 11:59
Resolved: 10/Feb/23 13:11

The necessary changes to the website after the Cassandra Summit 2023 has been postponed to December:
 - changing the date in the Events page card (and corresponding image)
 - adding an Event card about hte "Cassandra Forward" online event in March
 - changing text, image and link of the Summit banners on index and events pages.

No changes on the blog - also, a possible new blog post summarizing the change of schedule is left to a separate PR.

The above is implemented by [https://github.com/apache/cassandra-website/pull/209] . Screenshots follow:

!index_page.png|width=300!
!events_page.png|width=300!
Bug: system_views.gossip_info has a column called "schema" (with quotes)
Status: Triage Needed
Priority: Normal
Created: 09/Feb/23 13:49

When one does

{code}
describe system_views.gossip_info ;
{code}

The output shows this for schema column:

{code}
"schema" text,
{code}

There are literally these quotes around that column name.

I think it is a bug.
Bug: Add bereng's gpg key to KEYs file
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 08/Feb/23 07:40
Resolved: 08/Feb/23 13:38

Hi,

I would like my key to be added [https://keys.openpgp.org/vks/v1/by-fingerprint/CEC5C50B9C629EF0F5AB2706650B72EB14CCD622|https://keys.openpgp.org/vks/v1/by-fingerprint/CEC5C50B9C629EF0F5AB2706650B72EB14CCD622]

To be able to do Cassandra releases
Bug: In CI when cassandra crashes and produces a jvm error file, we do not archive this and just show in logs that the JVM crashed
Status: Open
Priority: Normal
Created: 01/Feb/23 23:15

When the jvm produces an error file we should make sure to back it up in CI.

This can be as simple as adding the following env

{code}
JAVA_TOOL_OPTIONS: '-XX:ErrorFile=DIR_WE_BACKUP/hs_err_pid_%p.log'
{code}
Bug: cassandra.yaml links don't work
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 31/Jan/23 19:47
Resolved: 31/Jan/23 20:39

On [https://cassandra.apache.org/doc/4.0/] the cassandra.yaml links in Configuring Cassandra don't work.
 # Go to [https://cassandra.apache.org/doc/4.0/cassandra/configuration/index.html]
 # Click [cassandra.yaml|https://cassandra.apache.org/doc/4.0/cassandra/configuration/index.html#configuration/cass_yaml_file.adoc]
 # You remain on the Configuring Cassandra page

The same appears to be true for trunk, 4.1, and 3.11 also.
Bug: Cqlsh ssl does not work with 3.11
Status: Triage Needed
Priority: Normal
Created: 27/Jan/23 23:48

Our cassandra runs TLS for cql but requires hotsname validation to be disabled.

With Python 3.11 and Cassandra 3.11 we see the following error when using cqlsh:

 

PermissionError: [Errno 1] Tried connecting to [('10.198.0.15', 9042)]. Last error: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997)

 

Our understanding is that security settings changed in Python 3.10 to be miore strict: [https://bugs.python.org/issue43998]

 

Stack Overflow suggests it;s due to some outdated ciphers: https://stackoverflow.com/questions/71006708/getting-sslv3-alert-handshake-failure-when-trying-to-connect-to-imap
Bug: add smiklosovic's gpg key to project's KEYS file
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 27/Jan/23 21:14
Resolved: 27/Jan/23 22:12

The patch adds my gpg public key to the project's KEYS file found at [https://dist.apache.org/repos/dist/release/cassandra/KEYS]

My gpg public key here has the fingerprint 
 7464AAD9068241C50BA6A26232F35CB2F546D93E

References:
 - [https://www.apache.org/dev/release-signing#keys-policy]
 - [http://www.apache.org/legal/release-policy.html]
Bug: Native Transport SSL tests failing
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 24/Jan/23 10:19
Resolved: 24/Jan/23 20:53

 
Cassandra 3.0
 

TestNativeTransportSSL.test_connect_to_ssl and TestNativeTransportSSL.test_connect_to_ssl (novnode)

[https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-3.0/failure/native_transport_ssl_test/TestNativeTransportSSL/test_connect_to_ssl]

As well as 
TestNativeTransportSSL.test_connect_to_ssl_optional and TestNativeTransportSSL.test_connect_to_ssl_optional (nvnode)

[https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-3.0/failure/native_transport_ssl_test/TestNativeTransportSSL/test_use_custom_ssl_port]


are failing after 2 merges that don't seem like they would impact SSL or server availaibility.

Most recent error message is:

cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',

{'127.0.0.1:9042': PermissionError(1, "Tried connecting to [('127.0.0.1', 9042)]. Last error: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:992)")}

)

 

Most recent changes made by 
[@smiklosovic|https://github.com/apache/cassandra/commits?author=smiklosovic] and [@driftx|https://github.com/apache/cassandra/commits?author=driftx] .
Bug: Warning at startup in 3.11.11 or above version of Cassandra
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 17/Jan/23 10:23
Resolved: 24/Jan/23 09:52

We are seeing the following warning in Cassandra 3.11.11/14 at startup : 
{code:java}
WARN  [main] 2022-12-27 16:41:28,016 CommitLogReplayer.java:253 - Origin of 2 sstables is unknown or doesn't match the local node; commitLogIntervals for them were ignored
DEBUG [main] 2022-12-27 16:41:28,016 CommitLogReplayer.java:254 - Ignored commitLogIntervals from the following sstables: [/data/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/me-65-big-Data.db, /data/cassandra/data/system/local-7ad54392bcdd35a684174e047860b377/me-64-big-Data.db] {code}

It looks like HostID metadata is missing at startup in the system.local table. 
We noticed that this issue does not exist in the 4.0.X version of Cassandra. 

Could you please fix it in 3.11.X Cassandra?
Bug: Cython not tested on 4.0
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 20/Jan/23 12:00
Resolved: 20/Jan/23 15:19

We [test cython|https://github.com/apache/cassandra/blob/trunk/.circleci/config-2_1.yml#L334] in 4.1 and trunk, but it is missing on 4.0 which has the same cython configuration.
Bug: BLOG - Summit 2023 Agenda Announced
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 18/Jan/23 16:52
Resolved: 19/Jan/23 05:58

This ticket is to capture the work associated with publishing the January 2023 blog "Apache Cassandra Summit Agenda Announced"

If this blog cannot be published by the January 18, 2023 publish date, please contact me, suggest changes, or correct the date when possible in the pull request for the appropriate time that the blog will go live (on both the blog.adoc and the blog post's file).
Bug: Serialize sstable keyspace and table metadata on StatsMetadata component
Status: Triage Needed
Priority: Normal
Created: 17/Jan/23 03:42

Currently Cassandra relies on the parent directory structure to figure out the keyspace/table of a given sstable: {{$data_dir/$keyspace/$tablename-$tableId/$sstable}}. 

Offline tools require sstables to be placed in the well-defined directory structure above to correctly parse keyspace/table information.

We can improve this by serializing keyspace/table metadata (such as keyspace/table names and table id) into the {{StatsMetadata}} component, so offline tools can read sstables from any parent directory.
Bug: Test Failure: TestUpgrade_current_2_1_x_To_indev_3_11_x.test_bootstrap_multidc (upgrade)
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 15/Jan/23 09:31
Resolved: 15/Jan/23 09:44

Flaky.

{noformat}
Unexpected error found in node logs (see stdout for full details). Errors: [[node4] "WARN  [MessagingService-Incoming-/127.0.0.1] 2022-12-20 14:00:30,243 IncomingTcpConnection.java:107 - UnknownColumnFamilyException reading from socket; closing
org.apache.cassandra.db.UnknownColumnFamilyException: Couldn't find table for cfId 5bc52802-de25-35ed-aeab-188eecebb090. If a table was just created, this is likely due to the schema not being fully propagated.  Please wait for schema agreement on table creation.
\tat org.apache.cassandra.config.CFMetaData$Serializer.deserialize(CFMetaData.java:1594)
\tat org.apache.cassandra.db.ReadCommand$Serializer.deserialize(ReadCommand.java:765)
\tat org.apache.cassandra.db.ReadCommand$Serializer.deserialize(ReadCommand.java:704)
\tat org.apache.cassandra.io.ForwardingVersionedSerializer.deserialize(ForwardingVersionedSerializer.java:50)
\tat org.apache.cassandra.net.MessageIn.read(MessageIn.java:123)
\tat org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:207)
\tat org.apache.cassandra.net.IncomingTcpConnection.receiveMessages(IncomingTcpConnection.java:195)
\tat org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:98)"]
{noformat}
Bug: CEP-15: (C*) Enhance returning SELECT to allow partition and clustering IN clauses to return multiple partitions/rows
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 12/Jan/23 20:07
Resolved: 12/Jan/23 22:27

There are many cases where the user wants to be able to return multiple partitions in one result, this exists today using IN clause to return for a single table; we should support this in Accord.

This work is not to include multiple partitions from different tables as that would require client integration (different schemas).  This work is also not to allow multiple SELECT statements, just to only rely on the IN clause.
Bug: getsstables --show-levels JMX serialization error
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 09/Jan/23 19:38
Resolved: 11/Jan/23 23:44

While the interface is compliant and tested by JMXStandardsTest the implementation is not actually serializable: {{java.io.NotSerializableException: com.google.common.collect.AbstractMapBasedMultimap$AsMap}}
Bug: Support sstabledump tool with row limit feature
Status: Triage Needed
Priority: Normal
Created: 09/Jan/23 06:03

Add a feature to support sstable dump with an option of partition limit. 
Some time we just want to see some partition's content or just want to see the content format of the partition (key format or value format) but if the value of a partition is too big , and we do not know the partition key in the sstable. The output of the sstable dump will get too much content to read. So we just want to support the feature that sstabledump have an option to limit the output row number just like CQL's LIMIT OFFSET .