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

paul cannon commented on CASSANDRA-2961:
----------------------------------------

So it looks like expireTimeEndpointMap is meant to contain absolute timestamps, 
not durations; however, the default expiretime value (as returned by 
o.a.c.gms.Gossiper.getExpireTimeForEndpoint()) is aVeryLongTime.

That should probably be (System.currentTimeMillis() + aVeryLongTime).

Also, I think it would make more sense to pass expire times into the 
VersionedValue constructors, not call into the Gossiper from inside them.

> 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.0
>            Reporter: Brandon Williams
>            Assignee: Jérémy Sevellec
>            Priority: Minor
>             Fix For: 1.0.1
>
>         Attachments: trunk-2961-v2.patch, trunk-2961-v3.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