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

Sandeep Tata commented on CASSANDRA-45:
---------------------------------------

I agree with a majority of the goals. 

> (1) Store all configuration specific information in ZK for availability 
> purposes. For eg. today we store the token info of a node in local disk. In 
> production we lost that disk and with that the token info
0 : I don't see big problems except we'll need to make sure this doesn't 
adversely affect the gossip protocol. If we're just using ZK to cache each 
node's token info separately, we're simply using ZK as "backup" so it won't 
affect the  protocol at all. I'm not sure how useful this is.

> (2) For storage load balance which does not exist today. I would like to have 
> the notion of leader who would orchestrate a load balance strategy.

+1 : Makes sense. Leader election for coordinating load balancing -- exactly 
what ZK was built for.

> (3) Distributed locks - suppose one of the replicas wanted to trigger a 
> compaction process. Then we can prevent the other replicas to also initiate 
> one so that we can get better read performance.
+1 : This is going to add some complexity, but I'm guessing this becomes 
critical when you want to guarantee read performance in a production setting.

> (4) There are operation stuff that needs to be set up when bootstrap of new 
> nodes is in order. This intermediate state can be placed in ZK and then 
> deleted on bootstrap completion. This way if the node handing of the data 
> dies in between then it can continue from where it left off on re-start.
0 : Not sure I know what "operation stuff" is yet. Not sure if there's any 
value to using ZK as a backup log.

I'm fine with people layering stronger consistency on top of Cassandra where 
this layer sacrifices some availability. If you want multi-row puts, you will 
give up availability under a bunch of scenarios. That is fine so long as the 
implementation does not affect the performance of the underlying eventually 
consistent system in any way. 

> Integrate with ZooKeeper to enhance fault tolerance and coordination
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-45
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-45
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Brett Eisenberg
>
> Per Avinash:
> (1) Store all configuration specific information in ZK for availability 
> purposes. For eg. today we store the token info of a node in local disk. In 
> production we lost that disk and with that the token info.
> (2) For storage load balance which does not exist today. I would like to have 
> the notion of leader who would orchestrate a load balance strategy.
> (3) Distributed locks - suppose one of the replicas wanted to trigger a 
> compaction process. Then we can prevent the other replicas to also initiate 
> one so that we can get better read performance. 
> (4) There are operation stuff that needs to be set up when bootstrap of new 
> nodes is in order. This intermediate state can be placed in ZK and then 
> deleted on bootstrap completion. This way if the node handing of the data 
> dies in between then it can continue from where it left off on re-start.
> additionally, configuration state data, cluster membership, and node 
> visibility could be enhanced using ZK as well.
> Per Neophytos: distributed locks for multi-row puts

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