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