[
https://issues.apache.org/jira/browse/CASSANDRA-13158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17039264#comment-17039264
]
David Capwell commented on CASSANDRA-13158:
-------------------------------------------
bq. Why is this even happening? That error is very strange.
[~stefan.miklosovic] here is what I see. The stack trace points to this line
here
https://github.com/apache/cassandra/blob/cassandra-4.0-alpha3/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java#L50.
That line calls this function
https://github.com/apache/cassandra/blob/cassandra-4.0-alpha3/src/java/org/apache/cassandra/schema/SchemaConstants.java#L75
and the whole class does not depend on Schema (the stack trace says
otherwise); if I look at 3.11 I see the same behavior (linked JIRA is marked
3.10).
Now, if I look at 3.0 I see the behavior in the stack trace;
https://github.com/apache/cassandra/blob/cassandra-3.0.20/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java#L50
this calls to the Schema class (matches stack trace).
bq. What does murmur have in common with some cleanup? Dont you know why is
this a thing in the first place?
The main reason is because Schema class depends on the configuration for the
node but nodetool shouldn't depend on the configuration (cassandra.yml). This
is also coupled with the fact the error message could actually mean
-Dcassandra.partitioner is set in nodetool for some reason; if you look at
https://github.com/apache/cassandra/blob/cassandra-3.0.20/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L380
you will see the error always prints what is in the yaml but
-Dcassandra.partitioner=thiswillfail will cause that exception.
Now, the correct behavior is that nodetool shouldn't depend on the
configuration and that is what I see in 4.0. I don't see any dependency on the
Schema class with regard to Cleanup (or on the configs), and only see it
compare against constants class. So without a new stack trace from 4.0 I can't
say why the behavior is seen since I am unable to replicate and the reported
stack trace has been fixed to not depend on Schema class.
[~stefan.miklosovic] if you have more details I would be glad to help.
> Nodetool cleanup throwing exception
> -----------------------------------
>
> Key: CASSANDRA-13158
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13158
> Project: Cassandra
> Issue Type: Bug
> Components: Tool/nodetool
> Environment: Fedora 25 x86
> Reporter: Tomas Repik
> Assignee: Eduard Tudenhoefner
> Priority: Normal
> Fix For: 4.0
>
>
> After running nodetool cleanup I get this exception:
> error: Invalid partitioner class org.apache.cassandra.dht.Murmur3Partitioner
> -- StackTrace --
> org.apache.cassandra.exceptions.ConfigurationException: Invalid partitioner
> class org.apache.cassandra.dht.Murmur3Partitioner
> at
> org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:383)
> at
> org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:125)
> at
> org.apache.cassandra.cql3.QueryProcessor.<clinit>(QueryProcessor.java:84)
> at org.apache.cassandra.config.CFMetaData.compile(CFMetaData.java:411)
> at
> org.apache.cassandra.schema.SchemaKeyspace.compile(SchemaKeyspace.java:240)
> at
> org.apache.cassandra.schema.SchemaKeyspace.<clinit>(SchemaKeyspace.java:88)
> at org.apache.cassandra.config.Schema.<init>(Schema.java:107)
> at org.apache.cassandra.config.Schema.<clinit>(Schema.java:55)
> at org.apache.cassandra.tools.nodetool.Cleanup.execute(Cleanup.java:50)
> at
> org.apache.cassandra.tools.NodeTool$NodeToolCmd.run(NodeTool.java:251)
> at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:165)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]