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.