[ 
https://issues.apache.org/jira/browse/CASSANDRA-1263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923119#action_12923119
 ] 

Jon Hermes commented on CASSANDRA-1263:
---------------------------------------

So on keyspace instantiation, I expect some set of opts for a given strategy to 
exist, otherwise calling getRF() will explode. Because user-def strats can 
require arbitrary opts, I can't easily verify that they exist*, and I can't 
guarantee that system_create_keyspace() will not explode (which is a 
non-desired side effect). 

Furthermore, I have to call getRF() is every place in the code that we ask for 
the instance RF, and I can't guarantee that getRF() is non-trivial (and it runs 
in tight loops). Caching the getRF() call is a hefty chunk of code, and then I 
need to reset the cached value if the KSMD changes during runtime, which is 
another hefty chunk of code.

*It is possible to make every strat implement an interface method for 
`List<String> returnRequiredOpts()`.

> Push replication factor down to the replication strategy
> --------------------------------------------------------
>
>                 Key: CASSANDRA-1263
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1263
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jeremy Hanna
>            Assignee: Jon Hermes
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> Currently the replication factor is in the keyspace metadata.  As we've added 
> the datacenter shard strategy, the replication factor becomes more computed 
> by the replication strategy.  It seems reasonable to therefore push the 
> replication factor for the keyspace down to the replication strategy so that 
> it can be handled in one place.
> This adds on the work being done in CASSANDRA-1066 since that ticket will 
> make the replication strategy a member variable of keyspace metadata instead 
> of just a quasi singleton giving the replication strategy state for each 
> keyspace.  That makes it able to have the replication factor.

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