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

Jérémy Sevellec commented on CASSANDRA-2961:
--------------------------------------------

I found why i have make 2 call of addExpireTimeIfFound into SS instead of 
calling it into excise : 
There is 3 calls to excise in SS : handleStateLeft, handleStateRemoving and... 
removeToken.
In removeToken, we don't have the "pieces" of the VV which contain expireTime. 
So we can't extract an expireTime.

so there is 3 possibilities : 
- modify excise to add "pieces" parameter, set it to null in the removeToken 
call and manage the case if pieces is null. I find this solution not so 
beautiful but will work.
- refactor and create 2 method signature of excise : one with pieces parameter 
and one without.
- keep as it is.

It's as you want. Tell me what is your preference (or another).

> Expire dead gossip states based on time
> ---------------------------------------
>
>                 Key: CASSANDRA-2961
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2961
>             Project: Cassandra
>          Issue Type: Improvement
>    Affects Versions: 1.0
>            Reporter: Brandon Williams
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: trunk-2961-v2.patch, trunk-2961.patch
>
>
> Currently dead states are held until aVeryLongTime, 3 days.  The problem is 
> that if a node reboots within this period, it begins a new 3 days and will 
> repopulate the ring with the dead state.  While mostly harmless, perpetuating 
> the state forever is at least wasting a small amount of bandwidth.  Instead, 
> we can expire states based on a ttl, which will require that the cluster be 
> loosely time synced; within the quarantine period of 60s.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to