[jira] [Updated] (CASSANDRA-4932) Agree on a gcbefore/expirebefore value for all replica during validation compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-4932: --- Attachment: 0001-CASSANDRA-4932-v2.patch v2 moves gcBefore calculation to just before sending out tree requests Agree on a gcbefore/expirebefore value for all replica during validation compaction Key: CASSANDRA-4932 URL: https://issues.apache.org/jira/browse/CASSANDRA-4932 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Assignee: Marcus Eriksson Priority: Minor Fix For: 2.0 Attachments: 0001-CASSANDRA-4932.patch, 0001-CASSANDRA-4932-v2.patch CASSANDRA-4905 made it so that we don't include gcable tombstones in merkle tree digests because otherwise the fact that a gcable tombstone exists in a given node depends on the local scheduling of compactions, which make the merkle-tree digets depends on that which is bad. However, we still depends on a value of gcbefore/expirebefore that is computed locally on the node. This is not a huge deal because each node should compute those value roughly at the same time so the discrepancies shouldn't exceed a few hundreds of milliseconds in general and a few seconds if we're unlucky. Still, it's fairly easy to fix this problem by having the repair coordinator pick the gcbefore/expirebefore and share that with all the replica. It does require sending that info on the wire though, so will require a new messaging version and thus can only be done in a major cycle. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-4932) Agree on a gcbefore/expirebefore value for all replica during validation compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-4932: -- Reviewer: yukim Agree on a gcbefore/expirebefore value for all replica during validation compaction Key: CASSANDRA-4932 URL: https://issues.apache.org/jira/browse/CASSANDRA-4932 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Assignee: Marcus Eriksson Priority: Minor Fix For: 2.0 Attachments: 0001-CASSANDRA-4932.patch CASSANDRA-4905 made it so that we don't include gcable tombstones in merkle tree digests because otherwise the fact that a gcable tombstone exists in a given node depends on the local scheduling of compactions, which make the merkle-tree digets depends on that which is bad. However, we still depends on a value of gcbefore/expirebefore that is computed locally on the node. This is not a huge deal because each node should compute those value roughly at the same time so the discrepancies shouldn't exceed a few hundreds of milliseconds in general and a few seconds if we're unlucky. Still, it's fairly easy to fix this problem by having the repair coordinator pick the gcbefore/expirebefore and share that with all the replica. It does require sending that info on the wire though, so will require a new messaging version and thus can only be done in a major cycle. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-4932) Agree on a gcbefore/expirebefore value for all replica during validation compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-4932: --- Attachment: 0001-CASSANDRA-4932.patch decides on gcBefore when sending out TreeRequest Agree on a gcbefore/expirebefore value for all replica during validation compaction Key: CASSANDRA-4932 URL: https://issues.apache.org/jira/browse/CASSANDRA-4932 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Assignee: Marcus Eriksson Priority: Minor Fix For: 2.0 Attachments: 0001-CASSANDRA-4932.patch CASSANDRA-4905 made it so that we don't include gcable tombstones in merkle tree digests because otherwise the fact that a gcable tombstone exists in a given node depends on the local scheduling of compactions, which make the merkle-tree digets depends on that which is bad. However, we still depends on a value of gcbefore/expirebefore that is computed locally on the node. This is not a huge deal because each node should compute those value roughly at the same time so the discrepancies shouldn't exceed a few hundreds of milliseconds in general and a few seconds if we're unlucky. Still, it's fairly easy to fix this problem by having the repair coordinator pick the gcbefore/expirebefore and share that with all the replica. It does require sending that info on the wire though, so will require a new messaging version and thus can only be done in a major cycle. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-4932) Agree on a gcbefore/expirebefore value for all replica during validation compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-4932: Comment: was deleted (was: bq. This is not a huge deal because each node should compute those value roughly at the same time Oh, and btw, this is not really true for repair with snapshots, so this ticket would at least make things quantitatively better for repair with snapshot.) Agree on a gcbefore/expirebefore value for all replica during validation compaction Key: CASSANDRA-4932 URL: https://issues.apache.org/jira/browse/CASSANDRA-4932 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Priority: Minor Fix For: 1.3 CASSANDRA-4905 made it so that we don't include gcable tombstones in merkle tree digests because otherwise the fact that a gcable tombstone exists in a given node depends on the local scheduling of compactions, which make the merkle-tree digets depends on that which is bad. However, we still depends on a value of gcbefore/expirebefore that is computed locally on the node. This is not a huge deal because each node should compute those value roughly at the same time so the discrepancies shouldn't exceed a few hundreds of milliseconds in general and a few seconds if we're unlucky. Still, it's fairly easy to fix this problem by having the repair coordinator pick the gcbefore/expirebefore and share that with all the replica. It does require sending that info on the wire though, so will require a new messaging version and thus can only be done in a major cycle. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira