scylladb / scylla-ccm

Cassandra Cluster Manager, modified for Scylla
Apache License 2.0
20 stars 60 forks source link

ccmlib/scylla_node.py: use native scylla nodetool when it's available #572

Closed tchaikov closed 2 months ago

tchaikov commented 2 months ago

in b18f85d7, we use the native nodetool if JMX is not available, but when running dtest from the local build, the jmx repo is still around, so the java-based nodetool is picked. but the java-based nodetool does not support tablets, and it would be great to always test the native implementation built locally when testing using dtest without building a relocatable package.

so, in this change, we go a step further by checking if the command line of scylla nodetool help works, if it succeeds, we go ahead and use scylla nodetool, otherwise, we fall back to the java-based nodetool. we could instead use scylla nodetool --help instead of calling a certain command of nodetool, but seastar returns 1 if --help is used. a pull request was created to address it . see https://github.com/scylladb/seastar/pull/2213.

tchaikov commented 2 months ago

changelog

tchaikov commented 2 months ago

this change should address the test failure like https://jenkins.scylladb.com/job/scylla-master/job/byo/job/dtest-byo/271/testReport/junit/nodetool_additional_test/TestNodetool/FullDtest___full_split001___test_describering/

tchaikov commented 2 months ago

/cc @bhalevy actually, this change addresses all of the nodetool related test failures in https://jenkins.scylladb.com/job/scylla-master/job/byo/job/dtest-byo/271/.

tchaikov commented 2 months ago

@scylladb/qa-maintainers hello maintainers, could you help review and merge this change?

fruch commented 2 months ago

@tchaikov

had to yank this out of next,

see: https://jenkins.scylladb.com/job/scylla-master/job/next/7565/testReport/junit/

soyacz commented 2 months ago

@tchaikov

had to yank this out of next,

see: https://jenkins.scylladb.com/job/scylla-master/job/next/7565/testReport/junit/

I think this uncovers some issues with the new nodetool (see https://github.com/scylladb/scylladb/issues/18468)

denesb commented 2 months ago

Looks like there is yet another missing native nodetool command: resetlocalschema. I'm working on the implementation.

tchaikov commented 2 months ago

@tchaikov

had to yank this out of next,

see: https://jenkins.scylladb.com/job/scylla-master/job/next/7565/testReport/junit/

thank you @fruch . the failures in next were contributed by two changes