Skip to content

KAFKA-15817: Avoid reconnecting to the same IP address if multiple ad…#14813

Merged
lucasbru merged 1 commit intoapache:trunkfrom
bob-barrett:KAFKA-15817
Nov 27, 2023
Merged

KAFKA-15817: Avoid reconnecting to the same IP address if multiple ad…#14813
lucasbru merged 1 commit intoapache:trunkfrom
bob-barrett:KAFKA-15817

Conversation

@bob-barrett
Copy link
Copy Markdown
Contributor

…dresses are available

This change is a follow-up to #9902. When re-resolving DNS after disconnecting, it is possible (likely, even) that we will resolve the same set of addresses in the same order, meaning we could attempt to reconnect to the same IP that we just disconnected from. In the case where we disconnected from the IP address because it has become unhealthy (due to a load balancer going down or a network routing layer restarting, for example), the client will need to time out before connecting to the next IP. This essentially unifies the behavior before and after KAFKA-12193: re-resolve after disconnecting while still progressing through the IP list.

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

@ijuma
Copy link
Copy Markdown
Member

ijuma commented Nov 26, 2023

Thanks for the PR. Let's cherry pick this to 3.6 after this is merged to master.

Copy link
Copy Markdown
Member

@lucasbru lucasbru left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for the PR!

Copy link
Copy Markdown
Member

@AndrewJSchofield AndrewJSchofield left a comment

Choose a reason for hiding this comment

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

lgtm

@lucasbru
Copy link
Copy Markdown
Member

test failures are know flaky tests

@lucasbru lucasbru merged commit 47e3777 into apache:trunk Nov 27, 2023
@ijuma
Copy link
Copy Markdown
Member

ijuma commented Nov 30, 2023

@lucasbru Did you cherry-pick to 3.6?

@lucasbru
Copy link
Copy Markdown
Member

@ijuma I did not. My understanding was that this shouldn't be included in 3.6.1, so I was waiting for 3.6.1 to go through before cherry-picking it.

cadonna pushed a commit to cadonna/kafka that referenced this pull request Dec 11, 2023
If multiple addresses are available. This change is a follow-up to apache#9902. When re-resolving DNS after disconnecting, it is possible (likely, even) that we will resolve the same set of addresses in the same order, meaning we could attempt to reconnect to the same IP that we just disconnected from. In the case where we disconnected from the IP address because it has become unhealthy (due to a load balancer going down or a network routing layer restarting, for example), the client will need to time out before connecting to the next IP. This essentially unifies the behavior before and after KAFKA-12193: re-resolve after disconnecting while still progressing through the IP list.

Reviewers: Lucas Brutschy <[email protected]>, Andrew Schofield <[email protected]>
cadonna added a commit that referenced this pull request Jan 4, 2024
If multiple addresses are available. This change is a follow-up to #9902. When re-resolving DNS after disconnecting, it is possible (likely, even) that we will resolve the same set of addresses in the same order, meaning we could attempt to reconnect to the same IP that we just disconnected from. In the case where we disconnected from the IP address because it has become unhealthy (due to a load balancer going down or a network routing layer restarting, for example), the client will need to time out before connecting to the next IP. This essentially unifies the behavior before and after KAFKA-12193: re-resolve after disconnecting while still progressing through the IP list.

Cherry-pick of 47e3777

Reviewers: Lucas Brutschy <[email protected]>, Andrew Schofield <[email protected]>

Co-authored-by: Bob Barrett <[email protected]>
yyu1993 pushed a commit to yyu1993/kafka that referenced this pull request Feb 15, 2024
If multiple addresses are available. This change is a follow-up to apache#9902. When re-resolving DNS after disconnecting, it is possible (likely, even) that we will resolve the same set of addresses in the same order, meaning we could attempt to reconnect to the same IP that we just disconnected from. In the case where we disconnected from the IP address because it has become unhealthy (due to a load balancer going down or a network routing layer restarting, for example), the client will need to time out before connecting to the next IP. This essentially unifies the behavior before and after KAFKA-12193: re-resolve after disconnecting while still progressing through the IP list.

Reviewers: Lucas Brutschy <[email protected]>, Andrew Schofield <[email protected]>
clolov pushed a commit to clolov/kafka that referenced this pull request Apr 5, 2024
If multiple addresses are available. This change is a follow-up to apache#9902. When re-resolving DNS after disconnecting, it is possible (likely, even) that we will resolve the same set of addresses in the same order, meaning we could attempt to reconnect to the same IP that we just disconnected from. In the case where we disconnected from the IP address because it has become unhealthy (due to a load balancer going down or a network routing layer restarting, for example), the client will need to time out before connecting to the next IP. This essentially unifies the behavior before and after KAFKA-12193: re-resolve after disconnecting while still progressing through the IP list.

Reviewers: Lucas Brutschy <[email protected]>, Andrew Schofield <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants