You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Nate McCall (JIRA)" <ji...@apache.org> on 2010/11/25 06:08:19 UTC

[jira] Created: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

The describe_host API method is misleading in that it returns the interface associated with gossip traffic
----------------------------------------------------------------------------------------------------------

                 Key: CASSANDRA-1777
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
             Project: Cassandra
          Issue Type: Bug
            Reporter: Nate McCall


If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.

I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 

At the same time, we should add port information as well. 

describe_splits probably has similar issues.

I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reassigned CASSANDRA-1777:
-----------------------------------------

    Assignee: Brandon Williams

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1777:
--------------------------------------

    Remaining Estimate: 16h
     Original Estimate: 16h

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Resolved] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams resolved CASSANDRA-1777.
-----------------------------------------

    Resolution: Fixed
      Reviewer: jbellis

Committed.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777-v2.txt, 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078939#comment-13078939 ] 

Jonathan Ellis commented on CASSANDRA-1777:
-------------------------------------------

oh yeah.  the whole "gossip is for internal cluster state, we definitely shouldn't be using it for rpc_address and rpc_port" thing I objected to originally.

however, I don't have a better solution (asking nodes directly would mean we couldn't include nodes that are currently unreachable), so +1 I guess on the general approach.

if we're not going to expose individual rpc_port can we just require that it be the same cluster-wide and not bother gossiping it?  it's kind of a misfeature anyway to allow different ones.

the old getRangeToEndpointMap is unused and can be removed now right?

Committing to 0.8 is probably fine but let's leave 0.7 alone.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078929#comment-13078929 ] 

Jonathan Ellis commented on CASSANDRA-1777:
-------------------------------------------

is that what the attached patch does?

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078898#comment-13078898 ] 

Jonathan Ellis commented on CASSANDRA-1777:
-------------------------------------------

Brandon, what is the status here?

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078933#comment-13078933 ] 

Brandon Williams commented on CASSANDRA-1777:
---------------------------------------------

That's what it did 8 months ago :)  It gets the rpc address/port information for each machine via gossip and returns that in describe_ring.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984329#action_12984329 ] 

Jonathan Ellis commented on CASSANDRA-1777:
-------------------------------------------

gossip is for internal cluster state, we definitely shouldn't be using it for rpc_address and rpc_port.

90% convinced the answer is "don't use describe_ring for node discovery, that's what RRDNS is for."

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Ryan King (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984837#action_12984837 ] 

Ryan King commented on CASSANDRA-1777:
--------------------------------------

I don't care about making it routing-aware. I just want to do discovery.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams updated CASSANDRA-1777:
----------------------------------------

    Attachment: 1777.txt

This is actually simple enough to apply to 0.7 if we leave out the rpc port (since that would require a thrift api change.)  describe_splits doesn't appear to be affected, just describe_ring.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Nick Bailey (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030902#comment-13030902 ] 

Nick Bailey commented on CASSANDRA-1777:
----------------------------------------

Besides just auto_discovery this breaks the pig storage func in contrib if you use different interfaces. That class uses describe ring to generate the input splits for map tasks to work on, which obviously doesn't work if it returns the gossip interface instead of the thrift interface.

+1 on fixing this and backporting to 0.7

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Updated: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1777:
--------------------------------------

    Fix Version/s: 0.8

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>             Fix For: 0.8
>
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Updated] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams updated CASSANDRA-1777:
----------------------------------------

    Attachment: 1777-v2.txt

v2 only communicate the rpc address over gossip, and fixes a problem in v1 when the rpc address is left blank.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777-v2.txt, 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13079076#comment-13079076 ] 

Hudson commented on CASSANDRA-1777:
-----------------------------------

Integrated in Cassandra-0.8 #254 (See [https://builds.apache.org/job/Cassandra-0.8/254/])
    describe_ring returns the interface thrift is bound to instead of the
one the storage proto is bound to.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-1777

brandonwilliams : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1153683
Files : 
* /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/VersionedValue.java
* /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
* /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
* /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/ApplicationState.java


> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777-v2.txt, 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984342#action_12984342 ] 

Brandon Williams commented on CASSANDRA-1777:
---------------------------------------------

You can't build a routing-aware client from RRDNS though because you'll have no way to map the IP to the token.  describe_ring really is useless if the gossip iface isn't the same as the rpc address right now (describe_ring is already using gossip for the info it returns, it's just the wrong info.)

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13079029#comment-13079029 ] 

Jonathan Ellis commented on CASSANDRA-1777:
-------------------------------------------

+1, but let's remove getRangeToEndpointMap when you merge to trunk.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777-v2.txt, 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Ryan King (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984466#action_12984466 ] 

Ryan King commented on CASSANDRA-1777:
--------------------------------------

Unless you have a dns server that can understand cassandra membership, RRDNS is actually a rough way to do this. I'd prefer to supply something for clients that works correctly.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984561#action_12984561 ] 

Eric Evans commented on CASSANDRA-1777:
---------------------------------------

I don't see how you could build a non-Java routing-aware client without replicating the partitioner and replica placement client-side. Ick.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078901#comment-13078901 ] 

Brandon Williams commented on CASSANDRA-1777:
---------------------------------------------

describe_ring, as is, is completely useless if you don't have thrift bound to the same interface as the storage proto, so I stand by the change to advertise the thrift address instead.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030908#comment-13030908 ] 

Brandon Williams commented on CASSANDRA-1777:
---------------------------------------------

Since the problem is rooted in CFIF, this actually runs deeper than just Pig.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-1777:
----------------------------------------

    Fix Version/s:     (was: 1.0)
                   0.8.3

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8.3
>
>         Attachments: 1777-v2.txt, 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-1777:
----------------------------------------

    Fix Version/s:     (was: 0.8.3)
                   0.8.4

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 0.8.4
>
>         Attachments: 1777-v2.txt, 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-1777) The describe_host API method is misleading in that it returns the interface associated with gossip traffic

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078941#comment-13078941 ] 

Brandon Williams commented on CASSANDRA-1777:
---------------------------------------------

bq. if we're not going to expose individual rpc_port can we just require that it be the same cluster-wide and not bother gossiping it? it's kind of a misfeature anyway to allow different ones.

I agree, I'll remove the port.

bq. the old getRangeToEndpointMap is unused and can be removed now right?

I think I originally left it in because it's exposed over JMX and I didn't want to break it if anyone was using it for something.

> The describe_host API method is misleading in that it returns the interface associated with gossip traffic
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1777
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Nate McCall
>            Assignee: Brandon Williams
>             Fix For: 1.0
>
>         Attachments: 1777.txt
>
>   Original Estimate: 16h
>  Remaining Estimate: 16h
>
> If the hardware is configured to use separate interfaces for thrift and gossip, the gossip interface will be returned, given the results come out of the ReplicationStrategy eventually.
> I understand the approach, but given this is on the API, it effective worthless in situations of host auto discovery via describe_ring from a client. I actually see this as the primary use case of this method - why else would I care about the gossip iface from the client perspective? It's current form should be relegated to JMX only. 
> At the same time, we should add port information as well. 
> describe_splits probably has similar issues.
> I see the potential cart-before-horse issues here and that this will probably be non-trivial to fix, but I think "give me a set of all the hosts to which I can talk" is pretty important from a client perspective.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira