av9ash/GitBugs huggingface dataset:
Bug: Cassandra 4.0 with python 2.7 on Ubuntu  
Status: Resolved
Priority: Normal
Resolution: Won't Fix
Created: 29/Apr/21 09:42
Resolved: 29/Apr/21 13:30

We have been testing with 4.0~beta2 in our setup for a few weeks and all has gone very smoothly, however when tried to install 4.0~rc1 we ran into problems with python versions.
 
We are on Ubuntu 16.04.7 LTS so use apt to install Cassandra, and this now gives the following error:
 
{{The following packages have unmet dependencies:}}{{ cassandra : Depends: python3 (>= 3.6) but 3.5.1-3 is to be installed}}{{E: Unable to correct problems, you have held broken packages.}}
 
Looking at the apt packaging the requirement for python has changed from 2.7 to 3.6 between beta4 and rc1. 
 
I have found https://issues.apache.org/jira/browse/CASSANDRA-16396 which says it needed to be python 3.6, however reading this ticket this seems to imply 2.7 is still supported https://issues.apache.org/jira/browse/CASSANDRA-15659
 
Also the code for for cqlsh says it supports 2.7 as well:  [https://github.com/apache/cassandra/blob/b0c50c10dbc443a05662b111a971a65cafa258d5/bin/cqlsh#L65]
 
All our clusters are currently on Ubuntu 16.04 which does not come with python 3.6, so this is going to be a major pain to upgrade them to 4.0, as I don't want to install it via a third party PPA if I can help it.
Bug: cqlsh completion test fails sometimes
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 28/Apr/21 18:38
Resolved: 28/Apr/21 20:35

{noformat}
'F EXISTS cqlshtests_9exbnsy_;' != 'F EXISTS cqlshtests_9exbnsy_ ;'
- F EXISTS cqlshtests_9exbnsy_;
+ F EXISTS cqlshtests_9exbnsy_ ;
?                             +
 : cqlsh completed 'F EXISTS cqlshtests_9exbnsy_;', but we expected 'F EXISTS cqlshtests_9exbnsy_ ;'
    """Fail immediately, with the given message."""
>>  raise self.failureException("'F EXISTS cqlshtests_9exbnsy_;' != 'F EXISTS cqlshtests_9exbnsy_ ;'\n- F EXISTS cqlshtests_9exbnsy_;\n+ F EXISTS cqlshtests_9exbnsy_ ;\n?                             +\n : cqlsh completed 'F EXISTS cqlshtests_9exbnsy_;', but we expected 'F EXISTS cqlshtests_9exbnsy_ ;'")
{noformat}

https://ci-cassandra.apache.org/job/Cassandra-trunk/453/testReport/junit/cqlshlib.python3.jdk8.cython.test.test_cqlsh_completion/TestCqlshCompletion/test_complete_in_drop_keyspace/
Bug: dml.rst should not list a "!=" operator
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 27/Apr/21 07:13
Resolved: 27/Apr/21 13:54

In {{doc/source/cql/dml.rst}} (which ends up in [https://cassandra.apache.org/doc/latest/cql/dml.html),] one of the operators listed is "!=". However this operator has never been supported in WHERE clauses, and I don't see any plans to making it supported.

The confusion compounds when you notice that the text does refer in a few places to "non-equal" or "inequality" operators - but those refer to operators like "<=" which are allowed in certain places and not others - not to "!=" which isn't allowed anywhere. So "!=" should not be listed at all.

The Datastax version of this document, [https://docs.datastax.com/en/cql-oss/3.3/cql/cql_reference/cqlSelect.html,] also doesn't list "!=".
Bug: j8_dtest_jars_build is broken in CI
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 07/Apr/21 20:16
Resolved: 08/Apr/21 22:35

j8_dtest_jars_build is broken. It constantly fails at building the dtest jar from the target branch after building the trunk. 

One example, https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/741/workflows/c3de5483-85b0-48a4-b1fa-1c52f89680c7/jobs/4063

It seems to be caused by the recent ant build changes. The lib dir contains the jars leftover from the build output of trunk.
Bug: Logging bug during the node replacement and token assignment
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 23/Apr/21 18:44
Resolved: 23/Apr/21 20:12

Hello Team,

 

I noticed a minor logging issue when a Cassandra node is trying to boot-up with a new IP address but the existing data directory. The IP address and Token fields are inter-changed.

 

*Sample Log:* 

{{WARN [GossipStage:1] 2021-04-23 18:24:06,348 StorageService.java:2425 - Not updating host ID 27031833-5141-46e0-b032-bef67137ae49 for /10.24.3.9 because it's mine}}
{{INFO [GossipStage:1] 2021-04-23 18:24:06,349 StorageService.java:2356 - Nodes () and /10.24.3.9 have the same token /10.24.3.10. Ignoring -1124147225848710462}}
{{INFO [GossipStage:1] 2021-04-23 18:24:06,350 StorageService.java:2356 - Nodes () and /10.24.3.9 have the same token /10.24.3.10. Ignoring -1239985462983206335}}

*Steps to Reproduce:*

Replace a Cassandra node with the a new IP address with the same data directory and the logs should show the messages.

*Cassandra Version*: 3.11.6

 

Please let me know if you need more details
Bug: Test org.apache.cassandra.net.AsyncPromiseTest FAILED
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 13/Apr/21 13:47
Resolved: 23/Apr/21 16:18

Not seen in Jenkins but reported a few times from CircleCI so it seems legit problem:

[Test org.apache.cassandra.net.AsyncPromiseTest FAILED|https://jenkins-cm4.apache.org/job/Cassandra-trunk/434/testReport/org.apache.cassandra.net/AsyncPromiseTest/]
CircleCI [failiure|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/743/workflows/35cea1fd-6f38-4f09-9d7f-4673c34a9851/jobs/4104/parallel-runs/17]

{noformat}
Testcase: testFailure(org.apache.cassandra.net.AsyncPromiseTest):   FAILED
8
junit.framework.AssertionFailedError: 8
    at org.apache.cassandra.net.TestAbstractPromise$Async.verify(TestAbstractPromise.java:53)
    at org.apache.cassandra.net.TestAbstractAsyncPromise.testOneFailure(TestAbstractAsyncPromise.java:178)
    at org.apache.cassandra.net.AsyncPromiseTest.testFailure(AsyncPromiseTest.java:54)
    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)
Caused by: java.util.concurrent.TimeoutException
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)
    at org.apache.cassandra.net.TestAbstractPromise$Async.verify(TestAbstractPromise.java:49)


Test org.apache.cassandra.net.AsyncPromiseTest FAILED
{noformat}


Also Caleb mentioned he is seeing it in another CI infra too

CC [~maedhroz]
Bug: Improve failure message for rat plugin
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 20/Apr/21 20:10
Resolved: 23/Apr/21 13:29

The RAT plugins failure message isn't informative, only referring to the file (build/rat.txt) where the offending files can be found.

In CI systems, without access to that file, it is cumbersome to figure out what those offending files are.

Add to the failure message a grep of the first few offending files.
Bug: Remove references to run_dtests from README
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 21/Apr/21 14:44
Resolved: 22/Apr/21 14:26

Newcomers to cassandra-dtest that look through README.md will see that the run_dtests.py script is the quickest way to get started running tests. Unfortunately, the script has a number of problems and I'm not sure it ever work properly after the move to the pytest framework.
h2. Process stdout/stderr buffering


Firstly, when I execute run_dtests.py I don't see any output after

$ ./run_dtests.py --dtest-tests paging_test.py 
============================= test session starts ==============================
This looks likely to be because of the buffering that pytest does internally for stdout and stderr and because of the way that it's executed by run_dtests.py, i.e. I suspect that run_dtests.py is blocked on the following line for most of the execution because there's no data available in the pipe for stderr:

stderr_output = sp.stderr.readline()
See also pytest-dev/pytest#1886
h2. --pytest-options doesn't work


Secondly, the options specified in --pytest-options aren't actually passed through to pytest. I ran into this when trying to get more output during the execution of run_dtests.py (see above).
h2. Most devs run pytest directly


When I spoke to @ekaterinadimitrova2 it seemed like most developers just run the tests directly with pytest which would explain why run_dtests.py has bitrotted.
Bug: Nodetool verify fixes
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 16/Apr/21 06:00
Resolved: 22/Apr/21 11:19

A few issues with nodetool verify:
* Include cause exception when it fails verifying an sstable
* Don't try to check if the node owns tokens from localpartitioner sstables
* Don't try to deserialise non-existing bloom filter file
Bug: WEBSITE - Publish agenda on World Party landing page
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 17/Apr/21 00:29
Resolved: 19/Apr/21 08:25

To announce World Party speakers per C* dev Slack: [https://the-asf.slack.com/archives/C01RY1LUPD5/p1618601199086500]. Please have it go live on Monday, April 19.

From https://hopin.com/events/apache-cassandra-4-0-world-party:
h1. Agenda

Join us to hear from the following lineups at the following times:
h4. 5:00 - 6:00am UTC | Moderated by [Jeremy Hanna|https://github.com/jeromatron] + [Erick Ramirez|https://twitter.com/ErickRamirezAU]
 * Introduction to Apache Cassandra™ 4.0
 * Downside of Incremental Repairs by Payal Kumari
 * Apache Cassandra™ with Quarkus by Ravindra Kulkarni
 * Cassandra: Now and For The Future by Nirmal KPS Singh
 * Understanding Cassandra by Pradeep Gopal
 * Fun and Games

h4. 1:00 - 2:00pm UTC | Moderated by [Ekaterina Dimitrova|https://twitter.com/EkaterinaDimit9] + [Patrick McFadin|https://github.com/pmcfadin]
 * Introduction to Apache Cassandra™ 4.0
 * Cassandra Robustness: Errors I Made and You Cannot Anymore! by Carlos Rolo
 * Raising the Bar on QAMick by Semb Wever
 * Cassandra in Adobe Audience Manager by Serban Teodorescu
 * 11 Years of Cassandra by John Schulz
 * Fun and Games

h4. 9:00 - 10:00pm UTC | Moderated by [Melissa Logan|https://twitter.com/Melissa_B2B] + [Ben Bromhead|https://twitter.com/BenBromhead]
 * Introduction to Apache Cassandra™ 4.0
 * How Apache Cassandra™ Skills Help Women on a Path to Reentry in Tech by Autumn Capasso
 * Making Cassandra Easy by Rahul Xavier Singh
 * Optimizing Cassandra for Cloud Native Architecture by Subrata Ashe
 * Moving from Elastic to Cassandra by Charles Herring
Bug: BLOG - Changelog #6 Apr 2021
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 12/Apr/21 23:54
Resolved: 13/Apr/21 08:02

Draft by [~Calico] – [C* Blog: Cassandra Changelog #5|https://docs.google.com/document/d/1ndeEaVS84MaUtIYd_25gQcC_homaOqMd9RPgTOOyKfc/edit?usp=sharing].

The draft was [circulated for review in the dev@cassandra mailing list|https://lists.apache.org/thread.html/r76e9cc7051831b3198ce81920ca807231cf3d260e2b73d4982df7e6c%40%3Cdev.cassandra.apache.org%3E].
Bug: WEBSITE - Update World Party blog + landing page with registration link
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 08/Apr/21 05:39
Resolved: 09/Apr/21 07:23

There is now a registration link for the World Party – [https://hopin.com/events/apache-cassandra-4-0-world-party.]

Need to update the following pages:
 * Landing page - [https://cassandra.apache.org/worldparty/]
 * Blog post - [https://cassandra.apache.org/blog/2021/03/25/world_party.html]
Bug: Debian init script for 2.2.19 mostly broken on Debian 10 with systemd
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 16/Apr/21 11:37
Resolved: 16/Apr/21 11:41

The debian package for 2.2.19 doesn't contain a unit file, it has (or installs) only a script for /etc/init..d/cassandra

With systemd this script can only start the process; stoping and restarting the service doesn't work.
Bug: jflex NPE (StateSetEnumerator.reset(…)) on arm64 and jdk11
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 08/Apr/21 09:40
Resolved: 11/Apr/21 19:25

NPE thrown from `ant generate-jflex-java` on jdk11 and arm64.

Upstream: https://github.com/jflex-de/jflex/issues/910 
{code}
 java.lang.NullPointerException
 	at jflex.StateSetEnumerator.reset(StateSetEnumerator.java:40)
 	at jflex.NFA.containsFinal(NFA.java:295)
 	at jflex.NFA.getDFA(NFA.java:539)
 	at jflex.Main.generate(Main.java:80)
 	at jflex.anttask.JFlexTask.execute(JFlexTask.java:65)
 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
 	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
 	at org.apache.tools.ant.Task.perform(Task.java:350)
 	at org.apache.tools.ant.Target.execute(Target.java:449)
 	at org.apache.tools.ant.Target.performTasks(Target.java:470)
 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
 	at org.apache.tools.ant.Project.executeTarget(Project.java:1361)
 	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
 	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
 	at org.apache.tools.ant.Main.runBuild(Main.java:834)
 	at org.apache.tools.ant.Main.startAnt(Main.java:223)
 	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
 	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
{code}

Failures
- https://ci-cassandra.apache.org/view/Cassandra%204.0/job/Cassandra-trunk-artifacts/jdk=jdk_11_latest,label=cassandra-arm64/505/consoleFull
- https://ci-cassandra.apache.org/view/Cassandra%204.0/job/Cassandra-trunk-artifacts/501/jdk=jdk_11_latest,label=cassandra-arm64/console
- https://ci-cassandra.apache.org/view/Cassandra%204.0/job/Cassandra-trunk-artifacts/497/jdk=jdk_11_latest,label=cassandra-arm64/console
Bug: Unable to connect to any servers
Status: Resolved
Priority: Normal
Resolution: Invalid
Created: 08/Apr/21 20:21
Resolved: 08/Apr/21 20:30

 When trying to run cqlsh localhost 9042 it gives me the following error.

 
{code:java}
// Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused"), '::1:9042': error(111, "Tried connecting to [('::1', 9042, 0, 0)]. Last error: Connection refused")}
{code}
i need help
Bug: Unable to connect to any servers
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 08/Apr/21 20:23
Resolved: 08/Apr/21 20:29

Al intentar ejecutar cqlsh localhost 9042 me da el siguiente error.
{code:java}
// Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused"), '::1:9042': error(111, "Tried connecting to [('::1', 9042, 0, 0)]. Last error: Connection refused")})
{code}
I need help
Bug: Updates the versions EOL dates on the Download page
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 01/Apr/21 12:47
Resolved: 01/Apr/21 14:09

The EOL dates for the different versions should be updated as agree in the {{[DISCUSS] Releases after 4.0}} email thread.

{quote}
4.0: Fully supported until April 2023 and high severity bugs until
April 2024 (2 year full, 1 year bugfix)
3.11: Fully supported until April 2022 and high severity bugs until
April 2023 (1 year full, 1 year bugfix).
3.0: Supported for high severity correctness/performance bugs until
April 2022 (1 year bugfix)
2.2+2.1: EOL immediately.
{quote}
Bug: Round out cqlsh completion test coverage
Status: Resolved
Priority: Low
Resolution: Fixed
Created: 28/Apr/21 19:10
Resolved: 07/Nov/22 17:04

There are some missing tests in cqlsh completion. Some highlighted [here|https://github.com/apache/cassandra/blob/10a1d65eb09a93aee32948b46b4f1a0fbc2defe0/pylib/cqlshlib/test/test_cqlsh_completion.py#L808-L824]. There might be more needing coverage that are not enumerated.
Bug: Migrate to JUnit5
Status: Open
Priority: Low
Created: 24/Apr/21 11:13

h3. Overview
Currently C* uses JUnit4 (version 4.12) which is obsolete. There is a newer version 4.13.2 which we could update to. However, JUnit4 is generally considered to be outdated and it is reasonable to migrate to JUnit5.

Despite of having a syntax sugar in JUnit5 (assertThrow, lamda's support, ect), there are no blockers that push us to move from JUnit4. The main motivation for this initiative is rule of thumb to use up-to-date versions of the dependencies.

Obviously this change is not backward compatible with the open PRs and previous C* versions. Therefore, it will require an additional effort for backporting the changes and updating PRs that have tests. However, I believe it should not be a blocker for this initiative.

h3. Scope (preliminary list)
# change JUnit4 to JUnit5 dependencies and make necessary changes in ant tasks (https://ant.apache.org/manual/Tasks/junitlauncher.html)
# update syntax in all tests (imports, Before/After annotations, etc)
# update parameterized tests
# create a new version of {{OrderedJUnit4ClassRunner}} and update corresponding tests
# update tests that use {{BMUnitRunner}} (as per https://developer.jboss.org/docs/DOC-52953 it supports JUnit5)
# update tests with {{@Rule}}
# update tests with expected exceptions
# update {{JStackJUnitTask}}
# update formatters
# create a separate ticket to migrate to {{ant-junitlauncher-1.10.11}} (once it is released) and simplify {{JStackJUnitTask}} after https://github.com/apache/ant/pull/147

h3. Order of operations
In order to make the transition more smooth we want to use a phased approach:
# migrate to JUnit5 with [Vintage Engine|https://junit.org/junit5/docs/current/user-guide/#dependency-metadata-junit-vintage], so all JUnit4 tests work as is
# update tests in a few bunches (to not have a huge single PR with numerous conflicts)
# disable (remove dependency) Vintage Engine, so only JUnit5 tests work
Bug: Assertion Error on invalid ALTER TABLE Command
Status: Open
Priority: Low
Created: 05/May/21 14:50

If there is an invalid ALTER TABLE statement (extra comma), then Cassandra responds with an assertion error.

 

This happens on 3.11.10 but not on 4.0-rc1

This statement fails:
{code:java}
> cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.10 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh> CREATE KEYSPACE foo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
cqlsh> use foo;
cqlsh:foo> create table test(id INT, PRIMARY KEY(id));
cqlsh:foo> alter table test ADD (x INT, y INT,);
ServerError: java.lang.AssertionError
{code}

The following can be found inside the Log:

{code}
java.lang.AssertionError: null
	at org.apache.cassandra.cql3.statements.AlterTableStatementColumn.<init>(AlterTableStatementColumn.java:36) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.Cql_Parser.alterTableStatement(Cql_Parser.java:5820) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.Cql_Parser.cqlStatement(Cql_Parser.java:628) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.CqlParser.cqlStatement(CqlParser.java:604) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.CqlParser.query(CqlParser.java:344) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.CQLFragmentParser.parseAnyUnhandled(CQLFragmentParser.java:76) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:589) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:559) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:247) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:241) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:116) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.transport.Message$Dispatcher.processRequest(Message.java:685) [apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.transport.Message$Dispatcher.lambda$channelRead0$0(Message.java:591) [apache-cassandra-3.11.10.jar:3.11.10]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_292]
	at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:113) ~[apache-cassandra-3.11.10.jar:3.11.10]
	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_292]
{code}

Cassandra 4.0-rc1 responds as expected:
{code}
cqlsh:foo> alter table test ADD (x INT, y INT,);
SyntaxException: line 1:35 no viable alternative at input ')' (...(x INT, y INT,[)]...)
{code}
Bug: Dont fork jvms in the build
Status: Resolved
Priority: Low
Resolution: Fixed
Created: 09/Apr/21 11:02
Resolved: 09/Apr/21 15:29

Most developer and build machines have more than 1GB RAM now-a-days. The need to fork to specify {{`-Xmx512m`}} is redundant. 

Removing the fork flags removes >25% of the build time.
Bug: pylib requirements.txt should demand six >=1.12.0 rather than 0.12.0
Status: Resolved
Priority: Low
Resolution: Fixed
Created: 25/May/21 19:14
Resolved: 26/May/21 21:53

In 4.0 min six version is explicitly specified here

[https://github.com/apache/cassandra/blob/6c8ab5b6b41830ac0d0ee381a7669b06ffd5b43a/pylib/requirements.txt#L5]

but it is probably a typo: \{{ six>=0.12.0 }}

and should be {{>=1.12.0}}, version that ensures that "ensure_text" is present:

see six PR: [https://github.com/benjaminp/six/pull/204]

It can lead to {{import}} problems with pylib and in effect to problems with the cqlsh tests. 

Proposed fix:
 # request six>=1.12.0 in pylib requirements.txt on all C* branches
 # request six>=1.12.0 in dtest requirements.txt 

 

C* versions before 4.0 does not specify six version at all, which I suspect can be also improved.
Bug: Refactor tests for NodeTool commands
Status: Resolved
Priority: Low
Resolution: Fixed
Created: 24/Apr/21 10:22
Resolved: 06/May/21 11:59

h3. Overview
As a part of CASSANDRA-16404, I've been working on {{NodeTool}} commands for invalidation of the auth caches. While working on that, I've mentioned that the existing NodeTool unit tests are written in a different manner and reside in wrong packages. I've made the following changes to them:
# moved them to the proper packages (that match original command class)
# unified naming, formatting, imports
# migrated from {{org.assertj}} to {{hamcrest}} for assertions (though it is not smth really required)
# made a general cleanup

PR: https://github.com/apache/cassandra/pull/982
Bug: DiagnosticEventService.publish logging logs events without an overridden toString causing less useful debug logs
Status: Resolved
Priority: Low
Resolution: Fixed
Created: 17/Jun/21 17:48
Resolved: 20/Jun/21 16:13

The DiagnosticEventService logs each publish (if the event is enabled) using a logger, but the different events do not override the toString; this leaves the following logs

{code}
Publishing: org.apache.cassandra.gms.GossiperEvent@3cadeef2
Publishing: org.apache.cassandra.gms.GossiperEvent@6159419d
Publishing: org.apache.cassandra.service.PendingRangeCalculatorServiceEvent@18e52b1
Publishing: org.apache.cassandra.locator.TokenMetadataEvent@43a76a1a
etc.
{code}

To make these logs more meaningful, we might want to consider matching the persistent logic and convert the event to a map and then logging the map