Make protocol negotiation more resilient

Description

CASSANDRA-11464 introduced in 3.0.8+, 3.8+ changed logic of protocol error messages to be sent with the protocol version requested by the client, instead of the version that the server supports.

The driver currently uses the returned protocol version to determine what protocol version to downgrade to and reattempt connection. Because of this, the driver would retry the same protocol version and fail again.

Instead revert to logic that downgrades to tried protocol version - 1 in the case that the protocol version returned with the error is the same as the one tried, or find some other strategy.

Environment

None

Pull Requests

None

Activity

Show:
Olivier Michallat
January 17, 2017, 12:04 AM

See also 1368 for additional info.

Fixed

Assignee

Unassigned

Reporter

Andy Tolbert

Labels

None

PM Priority

None

Affects versions

None

Fix versions

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Priority

Major
Configure