Driver should detect mixed version clusters (during upgrade) and use appropriate protocol version

Description

Initial description:

During an upgrade from C* 2.1 to C* 3.0, it was necessary to both utilize the newest driver as well as fix the protocol version to the prior version during the upgrade.

Shouldn't the driver just detect the mixed mode cluster and utilize the appropriate protocol version?


Resolution:
Once the control connection is connected to the initial contact point, the driver checks the version of each node (system.peers.release_version) and computes the highest common protocol version. If it is lower than the current version, we downgrade and force a reconnect of the control connection before proceeding.

Environment

None

Pull Requests

None

Status

Assignee

Olivier Michallat

Reporter

Thomas Valley

Labels

None

PM Priority

None

Reproduced in

None

Affects versions

None

Fix versions

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

External issue ID

None

External issue ID

None

External issue ID

None

External issue ID

None

Priority

Major
Configure