[ 
https://issues.apache.org/jira/browse/CASSANDRA-5400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13622652#comment-13622652
 ] 

Sylvain Lebresne commented on CASSANDRA-5400:
---------------------------------------------

bq. We're adding endpoint as a new datatype? That sounds a little niche to 
commit to supporting that forever

I'll agree with that. I'll also think that having inet address displayed 
correctly is a nice feature. I could leave without it, but I don't see the 
point of deprecating it now. But adding a new, almost equivalent one is imho 
going too far.

bq.  I'm altering the type of the field to be "endpoint" in the system tables 
from "inet"; the endpoint deserializer understands an Inet4/Inet6address, so it 
will be able to read the bytes that were previously stored

But the problem is, old node may not be able to read your new "endpoint" types. 
And when you do a rolling major upgrade, old nodes will get fields written by 
new nodes. So basically we must make sure new nodes don't write something an 
old node can't understand.

bq. You can have a composite PK

I guess Carl points is that we can't just change the definition of the peers 
table (and he is right).
                
> Allow multiple ports to gossip from a single IP address
> -------------------------------------------------------
>
>                 Key: CASSANDRA-5400
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5400
>             Project: Cassandra
>          Issue Type: New Feature
>    Affects Versions: 2.0
>            Reporter: Carl Yeksigian
>            Assignee: Carl Yeksigian
>             Fix For: 2.0
>
>         Attachments: 5400.txt, 5400-v2.txt, 5400-v3.patch, 5400-v4.patch
>
>
> If a fat client is running on the same machine as a Cassandra node, the fat 
> client must be allocated a new IP address. However, since the node is now a 
> part of the gossip, the other nodes in the ring must be able to talk to it. 
> This means that a local only address (127.0.0.n) won't actually work for the 
> rest of the ring.
> This also would allow for multiple Cassandra service instances to run on a 
> single machine, or from a group of machines behind a NAT.
> The change is simple in concept: instead of using an InetAddress, use a 
> different class. Instead of using an InetSocketAddress, which would still tie 
> us to using InetAddress, I've added a new class, "CassandraInstanceEndpoint". 
> The serializer allows for reading a serialized Inet4Address or Inet6Address; 
> also, the message service can still communicate with 
> non-CassandraInstanceEndpoint aware code.

--
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

Reply via email to