Support clusters with different native and storage ports at each node using CASSANDRA-7544

Description

CASSANDRA-7544 has the goal of allowing you to run multiple Cassandra instances on the same network interface (IP). Instances are disambiguated using the IP and port number.

The client wire protocol already communicated the port number in events. The system peers table has an additional column containing the port which clients need to be aware of if they want to route correctly and connect to a cluster that is configured to use different port numbers at each node.

By default the client won't using the discovered port numbers. When building the client you have to specify allowing port discovery. This nit is necessary for transitioning from a cluster where discovered port numbers are for the non-SSL port. Only the native port that supports both SSL and non-SSL traffic is propagated. In the future people will only use one port for both SSL and non-SSL, but during the transition the client needs to now if it should trust the discovered port number or use the one that is supplied in the client configuration.

Environment

None

Pull Requests

None

Activity

Show:
Ariel Weisberg
March 1, 2017, 7:58 PM

The work related to adding a second port to the wire protocol may be unnecessary. See this comment.

Ariel Weisberg
January 11, 2018, 8:59 PM

A prototype implementation used to test Cassandra is now available.

Ariel Weisberg
July 9, 2018, 10:25 PM

Apparently I don't currently have a CLA and one is not going to be forthcoming so I won't be able to contribute code for this.

Andy Tolbert
July 26, 2018, 10:56 PM

, we'll definitely want to include support for this in an upcoming release before C* 4.0 goes out. In lieu of not being able to sign the CLA yet, we'll work on this from our end. We had already implemented this for the next major version of the driver (4.0, ), so we can follow the work we did there on the 3.x branch.

Ariel Weisberg
July 27, 2018, 4:11 PM

Great thank you!

Fixed

Assignee

Andy Tolbert

Reporter

Ariel Weisberg

Labels

None

PM Priority

None

Affects versions

Fix versions

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Sprint

Java 4.x

Priority

Major
Configure