You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Wouter de Bie (JIRA)" <ji...@apache.org> on 2010/09/24 10:56:33 UTC
[jira] Created: (CASSANDRA-1543) DynamicEndPointSnitch backport not
functional
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.
[jira] Updated: (CASSANDRA-1543) DynamicEndPointSnitch backport not
functional
Posted by "Wouter de Bie (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Updated: (CASSANDRA-1543) DynamicEndPointSnitch backport not
functional
Posted by "Wouter de Bie (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-1543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wouter de Bie updated CASSANDRA-1543:
-------------------------------------
Attachment: 0.6.5_dynamic_snitch_partial.patch
> 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.
[jira] Resolved: (CASSANDRA-1543) DynamicEndPointSnitch backport
not functional
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-1543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis resolved CASSANDRA-1543.
---------------------------------------
Resolution: Duplicate
1) fixed based on your comments in CASSANDRA-981 (I read my mail in FIFO order :)
2) as also noted on 981, fixed in CASSANDRA-1429
3) raised in CASSANDRA-1448, left unresolved. the "right" fix is to have a single global snitch which was done in 0.7. open to workarounds for 0.6 but they all seem fairly unpleasant.
> 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.