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

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

What do you think about : 
- create a Map of "expireTimeEndpointMap" into Gossiper wich store endpoints as 
key and expireTime as value.

- SS, when a state change :
   - if STATUS is REMOVED_TOKEN or STATUS_LEFT, extract the expireTime in the 
string a the end of the VV and call the Gossiper to add the endpoint/expireTime 
into the expireTimeEndpointMap.
For all other state
   - for all other STATUS, call the gossiper to remove the endpoint into 
expireTimeEndpointMap if it is present.

- Gossiper, when doing status check for each endpoint, verifying if there is an 
expireTime in expireTimeEndpointMap for this endpoint, if so, we have an 
expireTime, if not, expireTime is set with aVeryLongTime. test and evict if 
necessary the endpoint.

It makes sense for you?

(I describe a lot... sorry but i would like to be sure of good understanding 
all aspect of the problem...)



> Expire dead gossip states based on time
> ---------------------------------------
>
>                 Key: CASSANDRA-2961
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2961
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Brandon Williams
>             Fix For: 1.0
>
>
> 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