You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Peter Schuller (Created) (JIRA)" <ji...@apache.org> on 2012/02/13 00:40:59 UTC
[jira] [Created] (CASSANDRA-3897) StorageService.onAlive() only
schedules hints for joined endpoints
StorageService.onAlive() only schedules hints for joined endpoints
------------------------------------------------------------------
Key: CASSANDRA-3897
URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
Project: Cassandra
Issue Type: Sub-task
Reporter: Peter Schuller
Assignee: Peter Schuller
Priority: Minor
It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3897) StorageService.onAlive() only
schedules hints for joined endpoints
Posted by "Peter Schuller (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206630#comment-13206630 ]
Peter Schuller commented on CASSANDRA-3897:
-------------------------------------------
And in either case, consistency level is irrelevant for this since hinted hand-off is *just* the optimization and doesn't affect consistency in any way which interacts with consistency level.
> StorageService.onAlive() only schedules hints for joined endpoints
> ------------------------------------------------------------------
>
> Key: CASSANDRA-3897
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Peter Schuller
> Assignee: Peter Schuller
> Priority: Minor
>
> It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3897) StorageService.onAlive() only
schedules hints for joined endpoints
Posted by "Peter Schuller (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206632#comment-13206632 ]
Peter Schuller commented on CASSANDRA-3897:
-------------------------------------------
The negative side-effect of not hinting to them is not that there is a consistency level violation, but that the hinted hand-off optimization fails. An operator (not me, we don't use HH) that is expecting hinted hand-off (in its new incarnation) to make AES only minimally necessary would be incorrect in the face of nodes bootstrapping into the cluster.
> StorageService.onAlive() only schedules hints for joined endpoints
> ------------------------------------------------------------------
>
> Key: CASSANDRA-3897
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Peter Schuller
> Assignee: Peter Schuller
> Priority: Minor
>
> It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3897) StorageService.onAlive() only
schedules hints for joined endpoints
Posted by "Brandon Williams (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206624#comment-13206624 ]
Brandon Williams commented on CASSANDRA-3897:
---------------------------------------------
bq. Why would this be the case?
Because they don't count towards consistency level.
> StorageService.onAlive() only schedules hints for joined endpoints
> ------------------------------------------------------------------
>
> Key: CASSANDRA-3897
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Peter Schuller
> Assignee: Peter Schuller
> Priority: Minor
>
> It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3897) StorageService.onAlive() only
schedules hints for joined endpoints
Posted by "Brandon Williams (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206585#comment-13206585 ]
Brandon Williams commented on CASSANDRA-3897:
---------------------------------------------
By virtue of not being a ring member, a bootstrapping node can never be hinted for. That said, I'm not certain a newly bootstrapped node (that has completed and is a ring member) will get hint delivery scheduled outside of an onAlive event.
> StorageService.onAlive() only schedules hints for joined endpoints
> ------------------------------------------------------------------
>
> Key: CASSANDRA-3897
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Peter Schuller
> Assignee: Peter Schuller
> Priority: Minor
>
> It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Issue Comment Edited] (CASSANDRA-3897)
StorageService.onAlive() only schedules hints for joined endpoints
Posted by "Peter Schuller (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206600#comment-13206600 ]
Peter Schuller edited comment on CASSANDRA-3897 at 2/13/12 1:08 AM:
--------------------------------------------------------------------
Why would this be the case? They are supposed to receive writes; I see no reason why hints should not be delivered. Hints is just a way to more quickly delivery writes in cases where nodes are down (i.e., more quickly when they go up) and avoid AES need. I don't see why a node actively bootstrapping into the ring should be "discriminated" against, in terms of seeing as reliable delivery of writes as other nodes.
In other words, I don't buy your first sentence unless you explain why. I don't accept it axiomatically :)
Obviously sending hints requires that hints are *there* first too, but the same argument applies. If a node is supposed to see a certain writes and it's considered down - hint it.
Statistically I can see the argument that if a node is bootstrapping and down, it might be practically more likely that the node is just going to be down for a longer period, and/or that the node will completely re-bootstrap anyway (since normally a node is down because it's being restarted, which would imply re-bootstrap if the node is bootstrapping).
was (Author: scode):
Why would this be the case? They are supposed to receive writes; I see no reason why hints should not be delivered. Hints is just a way to more quickly delivery writes in cases where nodes are down (i.e., more quickly when they go up) and avoid AES need. I don't see why a node actively bootstrapping into the ring should be "discriminated" against, in terms of seeing as reliable delivery of writes as other nodes.
In other words, I don't by your first sentence unless you explain why. I don't accept it axiomatically :)
Obviously sending hints requires that hints are *there* first too, but the same argument applies. If a node is supposed to see a certain writes and it's considered down - hint it.
Statistically I can see the argument that if a node is bootstrapping and down, it might be practically more likely that the node is just going to be down for a longer period, and/or that the node will completely re-bootstrap anyway (since normally a node is down because it's being restarted, which would imply re-bootstrap if the node is bootstrapping).
> StorageService.onAlive() only schedules hints for joined endpoints
> ------------------------------------------------------------------
>
> Key: CASSANDRA-3897
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Peter Schuller
> Assignee: Peter Schuller
> Priority: Minor
>
> It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3897) StorageService.onAlive() only
schedules hints for joined endpoints
Posted by "Peter Schuller (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206628#comment-13206628 ]
Peter Schuller commented on CASSANDRA-3897:
-------------------------------------------
{quote}
Because they don't count towards consistency level.
{quote}
Which is a bug - CASSANDRA-3892.
> StorageService.onAlive() only schedules hints for joined endpoints
> ------------------------------------------------------------------
>
> Key: CASSANDRA-3897
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Peter Schuller
> Assignee: Peter Schuller
> Priority: Minor
>
> It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3897) StorageService.onAlive() only
schedules hints for joined endpoints
Posted by "Peter Schuller (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-3897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206600#comment-13206600 ]
Peter Schuller commented on CASSANDRA-3897:
-------------------------------------------
Why would this be the case? They are supposed to receive writes; I see no reason why hints should not be delivered. Hints is just a way to more quickly delivery writes in cases where nodes are down (i.e., more quickly when they go up) and avoid AES need. I don't see why a node actively bootstrapping into the ring should be "discriminated" against, in terms of seeing as reliable delivery of writes as other nodes.
In other words, I don't by your first sentence unless you explain why. I don't accept it axiomatically :)
Obviously sending hints requires that hints are *there* first too, but the same argument applies. If a node is supposed to see a certain writes and it's considered down - hint it.
Statistically I can see the argument that if a node is bootstrapping and down, it might be practically more likely that the node is just going to be down for a longer period, and/or that the node will completely re-bootstrap anyway (since normally a node is down because it's being restarted, which would imply re-bootstrap if the node is bootstrapping).
> StorageService.onAlive() only schedules hints for joined endpoints
> ------------------------------------------------------------------
>
> Key: CASSANDRA-3897
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3897
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Peter Schuller
> Assignee: Peter Schuller
> Priority: Minor
>
> It seems incorrect to not do hint delivery for nodes that are bootstrapping, as that would cause sudden spikes in read repair need or inconsistent reads when a node joins the ring. Particularly if the user is expecting to rely on the new hinted handoff code making AES much less needed. It would be a POLA violation for bootstrapping nodes to be an exception to that.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira