Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kgo-verifier: close client in produceInner #20

Merged
merged 1 commit into from
Feb 8, 2023
Merged

Conversation

jcsp
Copy link
Contributor

@jcsp jcsp commented Feb 7, 2023

On "unexpected offsets" conditions, the producer
will drop out of produceInner and re-enter, to
destroy and create a client.

However, dropping the reference to the client doesn't synchronously close it, so it's possible for the
client to remain alive too long, and perhaps continue to drain its produce channel, disrupting the offset checks in the subsequent call to produceInner.

It's not certain that we've seen this happen, but it is one possibility discussed in redpanda-data/redpanda#8289 that is straightforward to eliminate.

Related: redpanda-data/redpanda#8289

On "unexpected offsets" conditions, the producer
will drop out of produceInner and re-enter, to
destroy and create a client.

However, dropping the reference to the client doesn't
synchronously close it, so it's possible for the
client to remain alive too long, and perhaps continue
to drain its produce channel, disrupting the offset checks
in the subsequent call to produceInner.

It's not certain that we've seen this happen, but it is one
possibility discussed in redpanda-data/redpanda#8289
that is straightforward to eliminate.

Related: redpanda-data/redpanda#8289
@jcsp jcsp merged commit 96e56ea into main Feb 8, 2023
@jcsp jcsp deleted the sync-close-producer branch February 8, 2023 08:12
jcsp added a commit to jcsp/redpanda that referenced this pull request Feb 8, 2023
jcsp added a commit to jcsp/redpanda that referenced this pull request Feb 13, 2023
jcsp added a commit to jcsp/redpanda that referenced this pull request Mar 1, 2023
To pull in
- redpanda-data/kgo-verifier#20
- redpanda-data/kgo-verifier#21 (producer rate
  limit)

(cherry picked from commit 65e001f)
jcsp added a commit to jcsp/redpanda that referenced this pull request Mar 1, 2023
To pull in
- redpanda-data/kgo-verifier#20
- redpanda-data/kgo-verifier#21 (producer rate
  limit)

(cherry picked from commit 65e001f)
jcsp added a commit to jcsp/redpanda that referenced this pull request Mar 1, 2023
To pull in
- redpanda-data/kgo-verifier#20
- redpanda-data/kgo-verifier#21 (producer rate
  limit)

(cherry picked from commit 65e001f)
jcsp added a commit to jcsp/redpanda that referenced this pull request Mar 1, 2023
To pull in
- redpanda-data/kgo-verifier#20
- redpanda-data/kgo-verifier#21 (producer rate
  limit)

(cherry picked from commit 65e001f)
jcsp added a commit to jcsp/redpanda that referenced this pull request Mar 8, 2023
To pull in
- redpanda-data/kgo-verifier#20
- redpanda-data/kgo-verifier#21 (producer rate
  limit)

(cherry picked from commit 65e001f)
jcsp added a commit to jcsp/redpanda that referenced this pull request Mar 8, 2023
To pull in
- redpanda-data/kgo-verifier#20
- redpanda-data/kgo-verifier#21 (producer rate
  limit)

(cherry picked from commit 65e001f)
jcsp added a commit to jcsp/redpanda that referenced this pull request Mar 13, 2023
To pull in
- redpanda-data/kgo-verifier#20
- redpanda-data/kgo-verifier#21 (producer rate
  limit)

(cherry picked from commit 65e001f)
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.

2 participants