cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wouter de Bie (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CASSANDRA-1543) DynamicEndPointSnitch backport not functional
Date Fri, 24 Sep 2010 09:18:32 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-1543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Wouter de Bie updated CASSANDRA-1543:
-------------------------------------

    Description: 
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 solves problem 1 and 2, but not 3.


  was:
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.



> 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 solves 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.


Mime
View raw message