av9ash/GitBugs huggingface dataset:
Bug: Improve the code model around IndexContext
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 16/Jan/23 13:58
Resolved: 25/Nov/23 09:13

We currently have a situation where we need to create an IndexContext that is for a non-indexed column and therefore is never going to be used for indexing or searching. This results in the IndexContext having to check for this at points in the code with assertions. The reason for this that, even when the column is non-indexed, we need to have information about the column for the purpose of post-filtering. 

It would make sense to split out the column / index information needed for filtering from the indexing / searching requirements such that we could avoid unnecessary assertions in the code.
Bug: Live migration from Paxos to Accord
Status: Ready to Commit
Priority: Normal
Created: 03/Jan/23 18:33

This excludes the work necessary to migrate from Accord back to Paxos.

It encompasses the associated nodetool commands to manage migration, state management to track which tables are migrated for which ranges (and to which consensus protocol), running repair to complete migration of a range, and on demand key migration to Accord for keys that are accessed during a range migration.
Bug: Lift MessagingService.minimum_version to 40
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 09/Mar/23 13:16
Resolved: 06/Nov/23 14:47

MessagingService's VERSION_30 and VERSION_3014 don't have to be supported in Cassandra 5.0 anymore.

(Cassandra 5.0 currently is still using VERSION_40)

Patch: https://github.com/apache/cassandra/compare/trunk...thelastpickle:cassandra:mck/18314/trunk

Raises the question whether backward compatibility to the previous major is defined by the Cassandra version or by the internal component version (MessagingService).
Bug: Test Failure: sslnodetonode_test.TestNodeToNodeSSLEncryption.test_ssl_client_auth_required_fail
Status: Resolved
Priority: Normal
Resolution: Cannot Reproduce
Created: 27/Feb/23 21:15
Resolved: 05/Sep/23 09:13

from
- https://ci-cassandra.apache.org/job/Cassandra-trunk/1469/testReport/dtest-offheap.sslnodetonode_test/TestNodeToNodeSSLEncryption/test_ssl_client_auth_required_fail/
- https://ci-cassandra.apache.org/job/Cassandra-trunk-dtest-offheap/1255/label=cassandra-dtest,split=26/testReport/junit/dtest-offheap.sslnodetonode_test/TestNodeToNodeSSLEncryption/test_ssl_client_auth_required_fail/

Stacktrace
{noformat}
self = <sslnodetonode_test.TestNodeToNodeSSLEncryption object at 0x7f9ff4fb84f0>

    def test_ssl_client_auth_required_fail(self):
        """peers need to perform mutual auth (cient auth required), but do not supply the local cert"""
        credNode1 = sslkeygen.generate_credentials("127.0.0.1")
        credNode2 = sslkeygen.generate_credentials("127.0.0.2")
    
        self.setup_nodes(credNode1, credNode2, client_auth=True)
    
        self.fixture_dtest_setup.allow_log_errors = True
        self.cluster.start(no_wait=True)
        time.sleep(2)
    
        found = self._grep_msg(self.node1, _LOG_ERR_HANDSHAKE, _LOG_ERR_GENERAL)
>       assert found
E       assert False

sslnodetonode_test.py:83: AssertionError
{noformat}
Bug: Properly synchronize CQLSSTableWriter#build on the Schema.instance
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 09/Mar/23 19:32
Resolved: 10/Oct/23 08:58

The {{CQLSSTableWriter#build}} method should properly synchronize on the {{Schema.instance}} class to prevent concurrent Schema operations fail, [when the offline tool also updates schema].

For example, a table creation operation, which modifies the keyspaces tables metadata, might end up missing the update when a concurrent call to the {{CQLSSTableWriter#build}} method is accessing the {{Schema}} instance.
Bug: CEP-15: (C*) Accord message processing should avoid being passed on to a Stage and run directly in the messageing handler
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 24/Mar/23 16:33
Resolved: 27/Apr/23 18:32

Accord message processing should avoid being passed on to a Stage and run directly in the messageing handler.  This logic should validate that all messages are non-blocking and async handle replies.
Bug: CEP-15 (Accord) accord.messages.Defer rejects Recurrent retry of Commit
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 28/Mar/23 20:56
Resolved: 07/Apr/23 21:00

{code}
java.lang.IllegalStateException: Recurrent retry of Commit{…}
	at accord.messages.Defer.add(Defer.java:63)
	at accord.messages.Commit.apply(Commit.java:167)
	at accord.messages.Commit.apply(Commit.java:42)
	at org.apache.cassandra.service.accord.async.AsyncOperation$ForFunction.apply(AsyncOperation.java:321)
	at org.apache.cassandra.service.accord.async.AsyncOperation$ForFunction.apply(AsyncOperation.java:308)
	at org.apache.cassandra.service.accord.async.AsyncOperation.runInternal(AsyncOperation.java:226)
	at org.apache.cassandra.service.accord.async.AsyncOperation.run(AsyncOperation.java:268)
{code}
Bug: Post 4.x Clean up
Status: Triage Needed
Priority: Normal
Created: 07/Mar/23 20:50

Trunk being now 5.0 means we no longer recommend users, nor test ourselves, upgrades from version 3.11 or earlier.

There is a lot that can be cleaned up, especially in the test code, around earlier versions (including older sstable formats and MessagingService versions). Stuff that was deprecated before 4.0 can also be removed. A number of separate tickets already exist for the latter.

All non-trivial child tickets will be checked with dev@
Bug: CEP-26: Unified Compaction Strategy
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 31/Mar/23 13:54
Resolved: 24/Jul/23 08:04

Implementation of Unified Compaction Strategy per [CEP-26|https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-26%3A+Unified+Compaction+Strategy].

Further documentation of the most current state of the solution can be found in [the included markdown documentation|https://github.com/blambov/cassandra/blob/CASSANDRA-18397/src/java/org/apache/cassandra/db/compaction/UnifiedCompactionStrategy.md].
Bug: CEP-15: (Accord) Define a configuration system for Accord to allow overriding of internal configs and integrate with Cassandra yaml
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 02/Feb/23 00:40
Resolved: 19/Oct/23 12:14

Users are used to modifying cassandra via yaml and JMX (for dynamic configs) but accord does not integrate with this right now; we should enhance Accord to expose configs that are defined in cassandra yaml.

As an extension on this, we should figure out which configs are “dynamic” and allow overriding via JMX or system vtable.
Bug: In-tree build scripts
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 04/Jan/23 12:07
Resolved: 12/Jul/23 11:29

Bring the artifact/deb/rpm build scripts (and associated docker images) from cassandra-builds repo to the .build directory.

-The declarative Jenkinsfile can then directly declare the artifacts jobs in its pipeline. And the packaging jobs can be separated and run in parallel.- EDIT: this bit has been moved to CASSANDRA-18594

This addresses the epic's stated existing problems:
 - difficult to pre-commit test jenkins and cassandra-build changes,
 - CI development efforts is split between ci-cassandra and circleci, despite ci-cassandra being our canonical and non-commercial CI,
 - lacking parity of what is tested between ci-cassandra and circleci
 - cassandra-builds as a separate repo (without release branches matching in-tree) adds complexity to changing matrix values (jdks, pythons, dist)
 - -mixture of jenkins dsl groovy, declarative and scripting pipeline.-
 - -different pre-commit and post-commit jenkins pipelines are used.-

In addition it addresses:
 - -stage jobs don't always running on the same SHA as the pipeline's run,-
 - infra issues around networking, specifically git cloning additional cassandra-builds repository,
 - -a more readable Jenkinsfile-
 - more UX friendly build and test scripts
Bug: Improve handling of min/max clustering in sstable
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 04/Jan/23 13:28
Resolved: 24/Feb/23 11:46

This patch improves the following things:

# SSTable metadata will store a covered slice in addition min/max clusterings. The difference is that for slices there is available the type of a bound rather than just a clustering. In particular it will provide the information whether the lower and upper bound of an sstable is opened or closed. The legacy min/max clustering will be stored until a new major format {{o}} to ensure backward compatibility
# SSTable metadata will store a flag whether the SSTable contains any partition level deletions or not
# SSTable metadata will store the first and the last keys of the sstable. This is mostly for consistency - key range is logically a part of stats metadata. So far it is stored at the end of the index summary. After this change, index summary will be no longer needed to read key range of an sstable (although we will keep storing key range as before for compatibility reasons)
# The above two changes required to introduce a new minor format for SSTables - {{nc}}
# Single partition read command makes use of the above changes. In particular an sstable can be skipped when it does not intersect with the column filter, does not have partition level deletions and does not have statics; In case there are partition level deletions, but the other conditions are satisfied, only the partition header needs to be accessed (tests attached)
# Skipping sstables assuming those three conditions are satisfied has been implemented also for partition range queries (tests attached). Also added minor separate statistics to record the number of accessed sstables in partition reads because now not all of them need to be accessed. That statistics is also needed in tests to confirm skipping.
# Artificial lower bound marker is now an object on its own and is not implemented as a special case of range tombstone bound. Instead it sorts right before the lowest available bound in the data
# Extended the lower bound optimization usage due the 1 and 2
# Do not initialize iterator just to get a cached partition and associated columns index. The purpose of using lower bound optimization was to avoid opening an iterator of an sstable if possible.

See also CASSANDRA-14861

The changes in this patch include work of [~blambov], [~slebresne], [~jakubzytka] and [~jlewandowski]
Bug: CEP-21: AlterTest#unknownMemtableConfigurationTest fails on possibly no longer valid assumptions around schema propagation
Status: Resolved
Priority: Normal
Resolution: Not A Problem
Created: 20/Mar/23 19:32
Resolved: 09/Oct/23 18:29

See: [https://app.circleci.com/pipelines/github/beobal/cassandra/406/workflows/00cdb02e-4b3e-477a-b997-403121172249/jobs/4201/tests]

The test hangs on L156, which the test assumes should succeed w/ node 1 having correct local configuration:

{noformat}
cluster.schemaChange("ALTER TABLE " + KEYSPACE + ".tbl WITH memtable = 'testconfig'", false, node1);
{noformat}

In the logs...

{noformat}
ERROR [node2_isolatedExecutor:1] node2 2023-03-17 12:26:07,943 JVMStabilityInspector.java:68 - Exception in thread Thread[node2_isolatedExecutor:1,5,isolatedExecutor]
org.apache.cassandra.exceptions.ConfigurationException: Memtable configuration "testconfig" not found.
	at org.apache.cassandra.schema.MemtableParams.parseConfiguration(MemtableParams.java:155)
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1133)
	at org.apache.cassandra.schema.MemtableParams.get(MemtableParams.java:111)
	at org.apache.cassandra.cql3.statements.schema.TableAttributes.build(TableAttributes.java:129)
	at org.apache.cassandra.cql3.statements.schema.TableAttributes.asNewTableParams(TableAttributes.java:65)
	at org.apache.cassandra.cql3.statements.schema.AlterTableStatement$AlterOptions.validate(AlterTableStatement.java:444)
	at org.apache.cassandra.distributed.impl.Coordinator.unsafeExecuteInternal(Coordinator.java:114)
{noformat}

{noformat}
ERROR 17:26:12 Could not process the entry
java.lang.AssertionError: null
	at org.apache.cassandra.tcm.log.LocalLog.processPendingInternal(LocalLog.java:272)
	at org.apache.cassandra.tcm.log.LocalLog$Async$AsyncRunnable.run(LocalLog.java:473)
	at org.apache.cassandra.concurrent.InfiniteLoopExecutor.loop(InfiniteLoopExecutor.java:121)
{noformat}

{noformat}
java.lang.IllegalStateException: Schema agreement not reached. Schema versions of the instances: [00000000-0000-0000-0000-000000000009, 00000000-0000-0000-0000-000000000006]

	at org.apache.cassandra.distributed.impl.AbstractCluster$ChangeMonitor.waitForCompletion(AbstractCluster.java:895)
	at org.apache.cassandra.distributed.impl.AbstractCluster.lambda$schemaChange$8(AbstractCluster.java:824)
	at org.apache.cassandra.concurrent.FutureTask$1.call(FutureTask.java:96)
{noformat}
Bug: CEP-21: Multiple tests in DescribeStatementTest fail on committing SchemaChangeRequest
Status: Resolved
Priority: Normal
Resolution: Not A Problem
Created: 20/Mar/23 19:45
Resolved: 09/Oct/23 18:28

See https://app.circleci.com/pipelines/github/beobal/cassandra/406/workflows/00cdb02e-4b3e-477a-b997-403121172249/jobs/4202/tests

This reproduces locally.

{noformat}
ERROR [main] 2023-03-17 12:44:33,810 AbstractLocalProcessor.java:52 - Caught error while trying to perform a local commit
java.lang.IllegalStateException: Escaping infinite loop after 10 tries. Current epoch: Epoch{epoch=25}. Next epoch: Epoch{epoch=26}.
	at org.apache.cassandra.tcm.AbstractLocalProcessor.commitLocally(AbstractLocalProcessor.java:114)
	at org.apache.cassandra.tcm.AbstractLocalProcessor.commit(AbstractLocalProcessor.java:48)
	at org.apache.cassandra.tcm.ClusterMetadataService.commit(ClusterMetadataService.java:342)
	at org.apache.cassandra.schema.Schema.submit(Schema.java:289)
	at org.apache.cassandra.cql3.statements.schema.AlterSchemaStatement.execute(AlterSchemaStatement.java:132)
	at org.apache.cassandra.cql3.statements.schema.AlterSchemaStatement.executeLocally(AlterSchemaStatement.java:88)
	at org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:474)
	at org.apache.cassandra.cql3.CQLTester.executeFormattedQuery(CQLTester.java:1296)
	at org.apache.cassandra.cql3.CQLTester.execute(CQLTester.java:1275)
{noformat}

{noformat}
java.lang.RuntimeException: Error setting schema for test (query was: CREATE KEYSPACE IF NOT EXISTS cql_test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'})

	at org.apache.cassandra.cql3.CQLTester.schemaChange(CQLTester.java:1173)
	at org.apache.cassandra.cql3.CQLTester.beforeTest(CQLTester.java:357)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Caused by: java.lang.IllegalStateException: Couldn't commit the transformation SchemaChangeRequest{, schemaTransformation=CreateKeyspaceStatement (cql_test_keyspace)} after 10 tries
	at org.apache.cassandra.tcm.ClusterMetadataService.commit(ClusterMetadataService.java:385)
	at org.apache.cassandra.schema.Schema.submit(Schema.java:289)
	at org.apache.cassandra.cql3.statements.schema.AlterSchemaStatement.execute(AlterSchemaStatement.java:132)
	at org.apache.cassandra.cql3.statements.schema.AlterSchemaStatement.executeLocally(AlterSchemaStatement.java:88)
	at org.apache.cassandra.cql3.CQLTester.schemaChange(CQLTester.java:1168)
{noformat}
Bug: CEP-21: o.a.c.d.t.MoveTest appears to call StorageService#getLocalTokens() before any saved tokens exist
Status: Resolved
Priority: Normal
Resolution: Not A Problem
Created: 20/Mar/23 19:40
Resolved: 09/Oct/23 18:28

See: https://app.circleci.com/pipelines/github/beobal/cassandra/406/workflows/00cdb02e-4b3e-477a-b997-403121172249/jobs/4201/tests

{noformat}
java.lang.AssertionError
	at org.apache.cassandra.service.StorageService.getLocalTokens(StorageService.java:2256)
	at org.apache.cassandra.distributed.test.MoveTest.lambda$move$e42fa1e3$1(MoveTest.java:67)
...
{noformat}
Bug: Test Failure: secondary_indexes_test.py::TestSecondaryIndexes::test_failing_manual_rebuild_index
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 24/Mar/23 12:49
Resolved: 05/Oct/23 13:39

The Python dtest {{secondary_indexes_test.py::TestSecondaryIndexes::test_failing_manual_rebuild_index}} is flaky, at least for trunk:

* https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/secondary_indexes_test/TestSecondaryIndexes/test_failing_manual_rebuild_index
* https://ci-cassandra.apache.org/job/Cassandra-trunk/1501/testReport/dtest.secondary_indexes_test/TestSecondaryIndexes/test_failing_manual_rebuild_index/

{code}
Error Message
failed on teardown with "Unexpected error found in node logs (see stdout for full details). Errors: [[node1] 'ERROR [Reference-Reaper] 2023-03-23 00:23:43,597 Ref.java:237 - LEAK DETECTED: a reference (class org.apache.cassandra.io.util.FileHandle$Cleanup@967019010:/home/cassandra/cassandra/cassandra-dtest/tmp/dtest-hgjoy8rq/test/node1/data0/k/t-b7dae870c91011eda58f05bc40bfcaa1/nc-1-big-Index.db) to class org.apache.cassandra.io.util.FileHandle$Cleanup@967019010:/home/cassandra/cassandra/cassandra-dtest/tmp/dtest-hgjoy8rq/test/node1/data0/k/t-b7dae870c91011eda58f05bc40bfcaa1/nc-1-big-Index.db was not released before the reference was garbage collected']"
Stacktrace
Unexpected error found in node logs (see stdout for full details). Errors: [[node1] 'ERROR [Reference-Reaper] 2023-03-23 00:23:43,597 Ref.java:237 - LEAK DETECTED: a reference (class org.apache.cassandra.io.util.FileHandle$Cleanup@967019010:/home/cassandra/cassandra/cassandra-dtest/tmp/dtest-hgjoy8rq/test/node1/data0/k/t-b7dae870c91011eda58f05bc40bfcaa1/nc-1-big-Index.db) to class org.apache.cassandra.io.util.FileHandle$Cleanup@967019010:/home/cassandra/cassandra/cassandra-dtest/tmp/dtest-hgjoy8rq/test/node1/data0/k/t-b7dae870c91011eda58f05bc40bfcaa1/nc-1-big-Index.db was not released before the reference was garbage collected']
{code}
The failure can be reproduced in CircleCI:
* https://app.circleci.com/pipelines/github/adelapena/cassandra/2732/workflows/829434ab-2d1a-4e1c-8c7f-42449fcfda22

The CircleCI config I used to reproduce the test failure can be generated with:
{code}
.circleci/generate.sh -p \
  -e REPEATED_DTESTS_COUNT=200 \
  -e REPEATED_DTESTS=secondary_indexes_test.py::TestSecondaryIndexes::test_failing_manual_rebuild_index
{code}
Bug: Allow CQL queries on multiple indexes without ALLOW FILTERING
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 01/Feb/23 16:46
Resolved: 12/May/23 09:04

The Index Group index was added by [CASSANDRA-16092|https://issues.apache.org/jira/browse/CASSANDRA-16092] to allow indexes to be grouped and have more than one index expression in a query. This did not make any changes to StatementRestrictions so CQL queries using multiple index expression still need to add ALLOW FILTERING to the query to be valid.

This restriction should be removed such that any number of index expressions can be used on a CQL query without needing ALLOW FILTERING.
Bug: Test Failure: org.apache.cassandra.transport.CQLConnectionTest.handleCorruptionOfLargeMessageFrame
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 15/Jan/23 10:10
Resolved: 28/Sep/23 09:14

Flaky.
{noformat}
junit.framework.AssertionFailedError
	at org.apache.cassandra.transport.CQLConnectionTest.testFrameCorruption(CQLConnectionTest.java:491)
	at org.apache.cassandra.transport.CQLConnectionTest.testFrameCorruption(CQLConnectionTest.java:450)
	at org.apache.cassandra.transport.CQLConnectionTest.handleCorruptionOfLargeMessageFrame(CQLConnectionTest.java:221)
	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)
{noformat}
Bug: Test failure: org.apache.cassandra.utils.binlog.BinLogTest.testTruncationReleasesLogSpace-compression
Status: Open
Priority: Normal
Created: 20/Feb/23 02:41

https://ci-cassandra.apache.org/job/Cassandra-4.1/277/testReport/org.apache.cassandra.utils.binlog/BinLogTest/testTruncationReleasesLogSpace_compression/
Bug: Test failure: cqlsh_tests.test_cqlsh_copy.TestCqlshCopy.test_bulk_round_trip_with_timeouts
Status: Open
Priority: Normal
Created: 23/Jan/23 21:58

https://ci-cassandra.apache.org/job/Cassandra-4.0/523/testReport/dtest.cqlsh_tests.test_cqlsh_copy/TestCqlshCopy/test_bulk_round_trip_with_timeouts/

{noformat}
assert 100000 == 94764
 +  where 100000 = sum(<generator object TestCqlshCopy._test_bulk_round_trip.<locals>.<genexpr> at 0x7f8b21987b90>)
 +  and   94764 = sum(<generator object TestCqlshCopy._test_bulk_round_trip.<locals>.<genexpr> at 0x7f8b21986dc0>)
{noformat}
Bug: Test Failure: CASTest Message serializedSize(12) does not match what was written with serialize(out, 12) for verb PAXOS2_COMMIT_AND_PREPARE_RSP
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 15/Jan/23 11:55
Resolved: 20/Jan/23 10:36

Flaky. Teardown doesn't look to be clean.

{noformat}
org.apache.cassandra.distributed.shared.ShutdownException: Uncaught exceptions were thrown during test
	at org.apache.cassandra.distributed.impl.AbstractCluster.checkAndResetUncaughtExceptions(AbstractCluster.java:1057)
	at org.apache.cassandra.distributed.impl.AbstractCluster.close(AbstractCluster.java:1043)
	at org.apache.cassandra.distributed.test.CASTest.afterClass(CASTest.java:97)
	Suppressed: java.lang.RuntimeException: java.lang.AssertionError: Message serializedSize(12) does not match what was written with serialize(out, 12) for verb PAXOS2_COMMIT_AND_PREPARE_RSP and serializer class org.apache.cassandra.net.Message$Serializer; expected 1077, actual 1079
		at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:108)
		at org.apache.cassandra.distributed.impl.Instance.lambda$null$6(Instance.java:512)
		at org.apache.cassandra.concurrent.ExecutionFailure$1.run(ExecutionFailure.java:133)
		at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:142)
		at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
		at java.lang.Thread.run(Thread.java:750)
	Caused by: java.lang.AssertionError: Message serializedSize(12) does not match what was written with serialize(out, 12) for verb PAXOS2_COMMIT_AND_PREPARE_RSP and serializer class org.apache.cassandra.net.Message$Serializer; expected 1077, actual 1079
		at org.apache.cassandra.distributed.impl.Instance.serializeMessage(Instance.java:422)
		at org.apache.cassandra.distributed.impl.Instance.lambda$registerOutboundFilter$5(Instance.java:362)
		at org.apache.cassandra.net.OutboundSink$Filtered.accept(OutboundSink.java:54)
		at org.apache.cassandra.net.OutboundSink.accept(OutboundSink.java:70)
		at org.apache.cassandra.net.MessagingService.send(MessagingService.java:425)
		at org.apache.cassandra.net.MessagingService.send(MessagingService.java:395)
		at org.apache.cassandra.net.MessagingService.respond(MessagingService.java:407)
		at org.apache.cassandra.service.paxos.PaxosCommitAndPrepare$RequestHandler.doVerb(PaxosCommitAndPrepare.java:128)
		at org.apache.cassandra.net.InboundSink.lambda$new$0(InboundSink.java:78)
		at org.apache.cassandra.net.InboundSink$Filtered.accept(InboundSink.java:64)
		at org.apache.cassandra.net.InboundSink$Filtered.accept(InboundSink.java:50)
		at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:97)
{noformat}
Bug: Builds being often aborted because of python3 ./scripts/gen-nodetool-docs.py being slow
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 25/Jan/23 15:04
Resolved: 25/Jan/23 21:19

As discussed on CASSANDRA-18181, recently we see builds aborted as python3 ./scripts/gen-nodetool-docs.py is too slow. 

According to [~brandon.williams] most of the time in the script is spent in create_adoc, which is serially forking nodetool help for every command to gather it.

CC [~Anthony Grasso]