[ https://issues.apache.org/jira/browse/CASSANDRA-13158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17039264#comment-17039264 ]
David Capwell edited comment on CASSANDRA-13158 at 2/18/20 5:27 PM: -------------------------------------------------------------------- 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; [this|https://github.com/apache/cassandra/blob/cassandra-3.0.20/src/java/org/apache/cassandra/tools/nodetool/Cleanup.java#L50] 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. was (Author: dcapwell): 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: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org