Skip to content

Conversation

@DaveCTurner
Copy link
Contributor

With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.

@DaveCTurner DaveCTurner force-pushed the 2025/02/05/validate-known-transport-handshake-version branch from 9175d30 to 90fc6d3 Compare February 5, 2025 12:14
With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.
@DaveCTurner DaveCTurner force-pushed the 2025/02/05/validate-known-transport-handshake-version branch from 8e786c1 to f7003b5 Compare February 5, 2025 13:28
@DaveCTurner DaveCTurner marked this pull request as ready for review February 5, 2025 15:01
@DaveCTurner DaveCTurner requested a review from rjernst February 5, 2025 15:01
@elasticsearchmachine elasticsearchmachine added the Team:Core/Infra Meta label for core/infra team label Feb 5, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (Team:Core/Infra)

Copy link
Member

@rjernst rjernst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, one suggestion

@DaveCTurner DaveCTurner added auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) auto-backport Automatically create backport pull requests when merged labels Feb 5, 2025
@elasticsearchmachine elasticsearchmachine merged commit 5302589 into elastic:main Feb 5, 2025
17 checks passed
@DaveCTurner DaveCTurner deleted the 2025/02/05/validate-known-transport-handshake-version branch February 5, 2025 17:46
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Feb 5, 2025
With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.
@elasticsearchmachine
Copy link
Collaborator

💔 Backport failed

Status Branch Result
8.18 Commit could not be cherrypicked due to conflicts
8.x Commit could not be cherrypicked due to conflicts
9.0

You can use sqren/backport to manually backport by running backport --upstream elastic/elasticsearch --pr 121747

DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Feb 5, 2025
With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.

Backport of elastic#121747 to 8.x
@DaveCTurner
Copy link
Contributor Author

Working on the 8.x backport at #121802

DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Feb 6, 2025
This test creates an incorrectly-serialized handshake which cannot be
validated, and elastic#121747 made that validation compulsory. This test
corrects the serialization.

Closes 121816
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Feb 6, 2025
This test creates an incorrectly-serialized handshake which cannot be
validated, and elastic#121747 made that validation compulsory. This test
corrects the serialization.

Closes elastic#121816
DaveCTurner added a commit that referenced this pull request Feb 6, 2025
This test creates an incorrectly-serialized handshake which cannot be
validated, and #121747 made that validation compulsory. This test
corrects the serialization.

Closes #121816
DaveCTurner added a commit that referenced this pull request Feb 6, 2025
This test creates an incorrectly-serialized handshake which cannot be
validated, and #121747 made that validation compulsory. This test
corrects the serialization.

Closes #121816
DaveCTurner added a commit that referenced this pull request Feb 6, 2025
This test creates an incorrectly-serialized handshake which cannot be
validated, and #121747 made that validation compulsory. This test
corrects the serialization.

Closes #121816
DaveCTurner added a commit that referenced this pull request Feb 6, 2025
This test creates an incorrectly-serialized handshake which cannot be
validated, and #121747 made that validation compulsory. This test
corrects the serialization.

Closes #121816
elasticsearchmachine pushed a commit that referenced this pull request Feb 6, 2025
)

* Validate transport handshake from known version (#121747)

With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.

* Fix version/transportversion confusion

* CI poke
DaveCTurner added a commit that referenced this pull request Feb 7, 2025
With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.

Backport of #121747 to 8.x
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Feb 7, 2025
With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.

Backport of elastic#121747 to 8.x
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Feb 7, 2025
With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.

Backport of elastic#121747/elastic#121802 to 8.18
elasticsearchmachine pushed a commit that referenced this pull request Feb 7, 2025
With parallel releases on multiple branches it's possible that an older
branch sees a transport version update that is not known to a
numerically newer but chronologically older version. In that case the
two nodes cannot intercommunicate, so with this commit we reject such
connection attempts at the version negotiation stage.

Backport of #121747 to 8.x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-backport Automatically create backport pull requests when merged auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) :Core/Infra/Core Core issues without another label >non-issue Team:Core/Infra Meta label for core/infra team v8.18.1 v8.19.0 v9.0.1 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants