[jira] [Issue Comment Edited] (CASSANDRA-2961) Expire dead gossip states based on time
[ https://issues.apache.org/jira/browse/CASSANDRA-2961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13105455#comment-13105455 ] Jérémy Sevellec edited comment on CASSANDRA-2961 at 9/15/11 4:09 PM: - Here is a new version of the patch integrating your comments was (Author: jsevellec): Here is a new version of the path integrating your comments 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-v4.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
[jira] [Issue Comment Edited] (CASSANDRA-2961) Expire dead gossip states based on time
[ https://issues.apache.org/jira/browse/CASSANDRA-2961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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
[jira] [Issue Comment Edited] (CASSANDRA-2961) Expire dead gossip states based on time
[ https://issues.apache.org/jira/browse/CASSANDRA-2961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13100637#comment-13100637 ] Jérémy Sevellec edited comment on CASSANDRA-2961 at 9/8/11 8:21 PM: You can find an new version of the patch : - without hamcrest dependency - compute the generation of expireTime into gossiper and calling it into the constructor of VV - modify SS to be more readable - adding some log I hope it's ok :-) was (Author: jsevellec): You can find an new version of the patch : - without hamcrest dependency - compute the generation of expireTime into gossiper and calling it into the constructor of VV - modify SS to be more readable I hope it's ok :-) 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-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