cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Williams (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Edited] (CASSANDRA-2961) Expire dead gossip states based on time
Date Thu, 08 Sep 2011 17:20:08 GMT

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

Brandon Williams edited comment on CASSANDRA-2961 at 9/8/11 5:20 PM:
---------------------------------------------------------------------

bq. hamscrest : In my case, It's true, I just use hamcrest with "is" into assert. There is
a lot of other verb which interesting to make asserting more readable. Tt was for help for
next but if you want I can remove it. tell me you do you prefer.

I don't think it's providing enough utility yet to justify another dependency.

bq. VersionedValue.getExpireTime : It's true, I put it in the Gossiper? a utility class?

I think I would pass the expire times to the VV constructors and put the actual generation
of the times in Gossiper.

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

That's because in removeToken, we are responsible for the generation of the expireTime (we
are the removal coordinator.)

      was (Author: brandon.williams):
    bq. hamscrest : In my case, It's true, I just use hamcrest with "is" into assert. There
is a lot of other verb which interesting to make asserting more readable. Tt was for help
for next but if you want I can remove it. tell me you do you prefer.

I don't think it's providing enough utility yet to justify another dependency.

bq. VersionedValue.getExpireTime : It's true, I put it in the Gossiper? a utility class?

I think I would pass the expire times to the VV constructors and put the actual generation
of the times in Gossiper.

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

That's because in removeToken, we are responsible for the generation of the expireTime (we
are the removal coordinator.)
  
> 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.1
>
>         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

        

Mime
View raw message