[ 
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

Reply via email to