DynamicEndPointSnitch backport not functional
---------------------------------------------

                 Key: CASSANDRA-1543
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1543
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.6.5
            Reporter: Wouter de Bie
         Attachments: 0.6.5_dynamic_snitch_partial.patch

There seems to something really wrong with the DynamicEndpointSnitch in 
cassandra 0.6.5. There are several issues with it:

1) DatabaseDescriptor.readTablesFromXml() uses Boolean.getBoolean() with the 
value of System.getProperty("cassandra.dynamic_snitch"). However, 
Boolean.getBoolean() also calls System.getProperty(). The result is that it 
executes a System.getProperty("true") or System.getProperty("false").
2) The RackAwareStrategy expects an instance of EndPointSnitch and will throw a 
RuntimeException if it's not. However, the DynamicEndpointSnitch wraps an 
EndPointSnitch, but extends AbstractEndpointSnitch. RackUnawareStrategy doesn't 
have this problem.
3) Since the DynamicEndpointSnitch registers an MBean, but is instantiated for 
every KeySpace, it breaks on trying to reregister the MBean.

I've attached a patch that solve problem 1 and 2, but not 3.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to