[ 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