-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
fix: add locking around broker throttle timer to prevent race condition #2826
Conversation
broker.go
Outdated
func (b *Broker) setThrottle(throttleTime time.Duration) { | ||
if b.throttleTimer != nil { | ||
value := b.throttleTimer.Load() | ||
if value != nil && value != emptyTimer { | ||
throttleTimer := value.(*time.Timer) | ||
// if there is an existing timer stop/clear it | ||
if !b.throttleTimer.Stop() { | ||
<-b.throttleTimer.C | ||
if !throttleTimer.Stop() { | ||
<-throttleTimer.C | ||
} | ||
} | ||
b.throttleTimer = time.NewTimer(throttleTime) | ||
b.throttleTimer.CompareAndSwap(value, time.NewTimer(throttleTime)) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m unsure about this approach. Since this is now an atomic operation, and there is a potentially blocking operation in it, we could easily end up with two setThrottle
operations running at the same time.
Of particular note is the message on the timer.Stop
godoc:
This cannot be done concurrent to other receives from the Timer's channel or other calls to the Timer's Stop method.
I think we need to be handling this within a properly locked mutex.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you are right. throttleTimer.Stop is not safe there. i change to locked mutex
c6d9d39
to
cc3fa66
Compare
…throttleTimer, which may result in a panic. add throttleTimerLock to protect Fixes IBM#2823 Signed-off-by: shacheng <shacheng@tencent.com>
cc3fa66
to
7d6b70b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for reporting and fixing this locking issue 🎉
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/IBM/sarama](https://github.com/IBM/sarama) | `v1.43.0` -> `v1.43.1` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fIBM%2fsarama/v1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fIBM%2fsarama/v1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fIBM%2fsarama/v1.43.0/v1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fIBM%2fsarama/v1.43.0/v1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>IBM/sarama (github.com/IBM/sarama)</summary> ### [`v1.43.1`](https://github.com/IBM/sarama/releases/tag/v1.43.1): Version 1.43.1 (2024-03-27) [Compare Source](https://github.com/IBM/sarama/compare/v1.43.0...v1.43.1) <!-- Release notes generated using configuration in .github/release.yaml at main --> #### What's Changed ##### 🐛 Fixes - fix: message.max.bytes should default to [`1048576`](https://github.com/IBM/sarama/commit/1048576) not 1 MB by [@​puellanivis](https://github.com/puellanivis) in [https://github.com/IBM/sarama/pull/2804](https://github.com/IBM/sarama/pull/2804) - fix: add locking around broker throttle timer to prevent race condition by [@​chengsha](https://github.com/chengsha) in [https://github.com/IBM/sarama/pull/2826](https://github.com/IBM/sarama/pull/2826) ##### 📦 Dependency updates - chore(deps): bump go.opentelemetry.io/otel/sdk from 1.23.1 to 1.24.0 in /examples/interceptors by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2816](https://github.com/IBM/sarama/pull/2816) - chore(deps): bump the golang-org-x group with 1 update by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2825](https://github.com/IBM/sarama/pull/2825) - chore(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2822](https://github.com/IBM/sarama/pull/2822) - chore(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutmetric from 1.23.1 to 1.24.0 in /examples/interceptors by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2815](https://github.com/IBM/sarama/pull/2815) #### New Contributors - [@​chengsha](https://github.com/chengsha) made their first contribution in [https://github.com/IBM/sarama/pull/2826](https://github.com/IBM/sarama/pull/2826) **Full Changelog**: IBM/sarama@v1.43.0...v1.43.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/IBM/sarama](https://github.com/IBM/sarama) | `v1.41.3` -> `v1.43.3` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fIBM%2fsarama/v1.43.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fIBM%2fsarama/v1.43.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fIBM%2fsarama/v1.41.3/v1.43.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fIBM%2fsarama/v1.41.3/v1.43.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>IBM/sarama (github.com/IBM/sarama)</summary> ### [`v1.43.3`](https://github.com/IBM/sarama/releases/tag/v1.43.3): Version 1.43.3 (2024-08-12) [Compare Source](https://github.com/IBM/sarama/compare/v1.43.2...v1.43.3) <!-- Release notes generated using configuration in .github/release.yaml at main --> #### What's Changed ##### 🐛 Fixes - fix: declare assignor variable for examples & clean up log format by [@​kumakichi](https://github.com/kumakichi) in [https://github.com/IBM/sarama/pull/2909](https://github.com/IBM/sarama/pull/2909) - fix(consumer): maintain ordering of offset commit requests by [@​prestona](https://github.com/prestona) in [https://github.com/IBM/sarama/pull/2947](https://github.com/IBM/sarama/pull/2947) - fix(producer): treat ErrKafkaStorageError as retriable by [@​richardartoul](https://github.com/richardartoul) in [https://github.com/IBM/sarama/pull/2939](https://github.com/IBM/sarama/pull/2939) ##### 📦 Dependency updates - chore(deps): bump the golang-org-x group across 1 directory with 2 updates by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2956](https://github.com/IBM/sarama/pull/2956) - chore(deps): bump github.com/eapache/go-resiliency from 1.6.0 to 1.7.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2944](https://github.com/IBM/sarama/pull/2944) - chore(deps): bump github.com/klauspost/compress from 1.17.8 to 1.17.9 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2926](https://github.com/IBM/sarama/pull/2926) ##### 🔧 Maintenance - fix(ci): correct docker-compose install by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2954](https://github.com/IBM/sarama/pull/2954) ##### 📝 Documentation - fix(doc): correct JVM's config name corresponding to MaxWaitTime by [@​abhipranay](https://github.com/abhipranay) in [https://github.com/IBM/sarama/pull/2893](https://github.com/IBM/sarama/pull/2893) #### New Contributors - [@​abhipranay](https://github.com/abhipranay) made their first contribution in [https://github.com/IBM/sarama/pull/2893](https://github.com/IBM/sarama/pull/2893) - [@​kumakichi](https://github.com/kumakichi) made their first contribution in [https://github.com/IBM/sarama/pull/2909](https://github.com/IBM/sarama/pull/2909) - [@​richardartoul](https://github.com/richardartoul) made their first contribution in [https://github.com/IBM/sarama/pull/2939](https://github.com/IBM/sarama/pull/2939) **Full Changelog**: IBM/sarama@v1.43.2...v1.43.3 ### [`v1.43.2`](https://github.com/IBM/sarama/releases/tag/v1.43.2): Version 1.43.2 (2024-04-25) [Compare Source](https://github.com/IBM/sarama/compare/v1.43.1...v1.43.2) <!-- Release notes generated using configuration in .github/release.yaml at main --> #### What's Changed ##### 🐛 Fixes - chore(ci): add 32-bit alignment check by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2874](https://github.com/IBM/sarama/pull/2874) ##### 📦 Dependency updates - chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2866](https://github.com/IBM/sarama/pull/2866) - chore(deps): bump the golang-org-x group with 2 updates by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2853](https://github.com/IBM/sarama/pull/2853) - chore(deps): bump github.com/klauspost/compress from 1.17.7 to 1.17.8 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2857](https://github.com/IBM/sarama/pull/2857) - chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 in /examples/txn_producer in the go_modules group by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2865](https://github.com/IBM/sarama/pull/2865) - chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 in /examples/consumergroup in the go_modules group by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2867](https://github.com/IBM/sarama/pull/2867) - chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 in /examples/exactly_once in the go_modules group by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2868](https://github.com/IBM/sarama/pull/2868) - chore(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 in /examples/interceptors in the go_modules group by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2869](https://github.com/IBM/sarama/pull/2869) **Full Changelog**: IBM/sarama@v1.43.1...v1.43.2 ### [`v1.43.1`](https://github.com/IBM/sarama/releases/tag/v1.43.1): Version 1.43.1 (2024-03-27) [Compare Source](https://github.com/IBM/sarama/compare/v1.43.0...v1.43.1) <!-- Release notes generated using configuration in .github/release.yaml at main --> #### What's Changed ##### 🐛 Fixes - fix: message.max.bytes should default to [`1048576`](https://github.com/IBM/sarama/commit/1048576) not 1 MB by [@​puellanivis](https://github.com/puellanivis) in [https://github.com/IBM/sarama/pull/2804](https://github.com/IBM/sarama/pull/2804) - fix: add locking around broker throttle timer to prevent race condition by [@​chengsha](https://github.com/chengsha) in [https://github.com/IBM/sarama/pull/2826](https://github.com/IBM/sarama/pull/2826) ##### 📦 Dependency updates - chore(deps): bump go.opentelemetry.io/otel/sdk from 1.23.1 to 1.24.0 in /examples/interceptors by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2816](https://github.com/IBM/sarama/pull/2816) - chore(deps): bump the golang-org-x group with 1 update by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2825](https://github.com/IBM/sarama/pull/2825) - chore(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2822](https://github.com/IBM/sarama/pull/2822) - chore(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutmetric from 1.23.1 to 1.24.0 in /examples/interceptors by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2815](https://github.com/IBM/sarama/pull/2815) #### New Contributors - [@​chengsha](https://github.com/chengsha) made their first contribution in [https://github.com/IBM/sarama/pull/2826](https://github.com/IBM/sarama/pull/2826) **Full Changelog**: IBM/sarama@v1.43.0...v1.43.1 ### [`v1.43.0`](https://github.com/IBM/sarama/releases/tag/v1.43.0): Version 1.43.0 (2024-02-22) [Compare Source](https://github.com/IBM/sarama/compare/v1.42.2...v1.43.0) <!-- Release notes generated using configuration in .github/release.yaml at main --> > \[!NOTE]\ > The go.mod directive has been bumped to 1.19 as the minimum version of Go required for the module. This was necessary to continue to receive updates from some of the third party dependencies that Sarama makes use of for compression. #### What's Changed ##### 🎉 New Features / Improvements - feat: update go directive to 1.19 by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2795](https://github.com/IBM/sarama/pull/2795) - feat: add BuildSpnFunc to GSSAPIConfig for allow custom spn by [@​fooofei](https://github.com/fooofei) in [https://github.com/IBM/sarama/pull/2807](https://github.com/IBM/sarama/pull/2807) ##### 🐛 Fixes - Use %v formatting words and remove unnecessary newline by [@​puellanivis](https://github.com/puellanivis) in [https://github.com/IBM/sarama/pull/2802](https://github.com/IBM/sarama/pull/2802) ##### 📦 Dependency updates - chore(deps): bump github.com/klauspost/compress from 1.16.7 to 1.17.6 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2784](https://github.com/IBM/sarama/pull/2784) - chore(deps): bump github.com/eapache/go-resiliency from 1.5.0 to 1.6.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2810](https://github.com/IBM/sarama/pull/2810) - chore(deps): bump github.com/klauspost/compress from 1.17.6 to 1.17.7 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2811](https://github.com/IBM/sarama/pull/2811) ##### 🔧 Maintenance - chore(doc): add v1.42.2 to CHANGELOG.md by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2796](https://github.com/IBM/sarama/pull/2796) #### New Contributors - [@​puellanivis](https://github.com/puellanivis) made their first contribution in [https://github.com/IBM/sarama/pull/2802](https://github.com/IBM/sarama/pull/2802) - [@​fooofei](https://github.com/fooofei) made their first contribution in [https://github.com/IBM/sarama/pull/2807](https://github.com/IBM/sarama/pull/2807) **Full Changelog**: IBM/sarama@v1.42.2...v1.43.0 ### [`v1.42.2`](https://github.com/IBM/sarama/releases/tag/v1.42.2): Version 1.42.2 (2024-02-09) [Compare Source](https://github.com/IBM/sarama/compare/v1.42.1...v1.42.2) <!-- Release notes generated using configuration in .github/release.yaml at main --> #### What's Changed > \[!NOTE]\ > The go.mod directive has been bumped to 1.18 as the minimum version of Go required for the module. This was necessary to continue to receive updates from some of the third party dependencies that Sarama makes use of for compression. ##### 🎉 New Features / Improvements - feat: update go directive to 1.18 by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2713](https://github.com/IBM/sarama/pull/2713) - feat: return KError instead of errors in AlterConfigs and DescribeConfig by [@​zhuliquan](https://github.com/zhuliquan) in [https://github.com/IBM/sarama/pull/2472](https://github.com/IBM/sarama/pull/2472) ##### 🐛 Fixes - fix: don't waste time for backoff on member id required error by [@​lzakharov](https://github.com/lzakharov) in [https://github.com/IBM/sarama/pull/2759](https://github.com/IBM/sarama/pull/2759) - fix: prevent ConsumerGroup.Close infinitely locking by [@​maqdev](https://github.com/maqdev) in [https://github.com/IBM/sarama/pull/2717](https://github.com/IBM/sarama/pull/2717) ##### 📦 Dependency updates - chore(deps): bump golang.org/x/net from 0.17.0 to 0.18.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2716](https://github.com/IBM/sarama/pull/2716) - chore(deps): bump golang.org/x/sync to v0.5.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2718](https://github.com/IBM/sarama/pull/2718) - chore(deps): bump github.com/pierrec/lz4/v4 from 4.1.18 to 4.1.19 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2739](https://github.com/IBM/sarama/pull/2739) - chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2748](https://github.com/IBM/sarama/pull/2748) - chore(deps): bump the golang-org-x group with 1 update by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2734](https://github.com/IBM/sarama/pull/2734) - chore(deps): bump the golang-org-x group with 2 updates by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2764](https://github.com/IBM/sarama/pull/2764) - chore(deps): bump github.com/pierrec/lz4/v4 from 4.1.19 to 4.1.21 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2763](https://github.com/IBM/sarama/pull/2763) - chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/exactly_once by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2749](https://github.com/IBM/sarama/pull/2749) - chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/consumergroup by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2750](https://github.com/IBM/sarama/pull/2750) - chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/sasl_scram_client by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2751](https://github.com/IBM/sarama/pull/2751) - chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/interceptors by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2752](https://github.com/IBM/sarama/pull/2752) - chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/http_server by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2753](https://github.com/IBM/sarama/pull/2753) - chore(deps): bump github.com/eapache/go-resiliency from 1.4.0 to 1.5.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2745](https://github.com/IBM/sarama/pull/2745) - chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/txn_producer by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2754](https://github.com/IBM/sarama/pull/2754) - chore(deps): bump go.opentelemetry.io/otel/sdk from 1.19.0 to 1.22.0 in /examples/interceptors by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2767](https://github.com/IBM/sarama/pull/2767) - chore(deps): bump the golang-org-x group with 1 update by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2793](https://github.com/IBM/sarama/pull/2793) - chore(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutmetric from 0.42.0 to 1.23.1 in /examples/interceptors by [@​dependabot](https://github.com/dependabot) in [https://github.com/IBM/sarama/pull/2792](https://github.com/IBM/sarama/pull/2792) ##### 🔧 Maintenance - fix(examples): housekeeping of code and deps by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2720](https://github.com/IBM/sarama/pull/2720) ##### ➕ Other Changes - fix(test): retry MockBroker Listen for EADDRINUSE by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2721](https://github.com/IBM/sarama/pull/2721) #### New Contributors - [@​maqdev](https://github.com/maqdev) made their first contribution in [https://github.com/IBM/sarama/pull/2717](https://github.com/IBM/sarama/pull/2717) - [@​zhuliquan](https://github.com/zhuliquan) made their first contribution in [https://github.com/IBM/sarama/pull/2472](https://github.com/IBM/sarama/pull/2472) **Full Changelog**: IBM/sarama@v1.42.1...v1.42.2 ### [`v1.42.1`](https://github.com/IBM/sarama/releases/tag/v1.42.1): Version 1.42.1 (2023-11-07) [Compare Source](https://github.com/IBM/sarama/compare/v1.42.0...v1.42.1) #### What's Changed ##### 🐛 Fixes - fix: make fetchInitialOffset use correct protocol by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2705](https://github.com/IBM/sarama/pull/2705) - fix(config): relax ClientID validation after 1.0.0 by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2706](https://github.com/IBM/sarama/pull/2706) **Full Changelog**: IBM/sarama@v1.42.0...v1.42.1 ### [`v1.42.0`](https://github.com/IBM/sarama/releases/tag/v1.42.0): Version 1.42.0 (2023-11-02) [Compare Source](https://github.com/IBM/sarama/compare/v1.41.3...v1.42.0) <!-- Release notes generated using configuration in .github/release.yaml at main --> #### What's Changed ##### 🐛 Fixes - Asynchronously close brokers during a RefreshBrokers by [@​bmassemin](https://github.com/bmassemin) in [https://github.com/IBM/sarama/pull/2693](https://github.com/IBM/sarama/pull/2693) - Fix data race on Broker.done channel by [@​prestona](https://github.com/prestona) in [https://github.com/IBM/sarama/pull/2698](https://github.com/IBM/sarama/pull/2698) - fix: data race in Broker.AsyncProduce by [@​lzakharov](https://github.com/lzakharov) in [https://github.com/IBM/sarama/pull/2678](https://github.com/IBM/sarama/pull/2678) - Fix default retention time value in offset commit by [@​prestona](https://github.com/prestona) in [https://github.com/IBM/sarama/pull/2700](https://github.com/IBM/sarama/pull/2700) - fix(txmgr): ErrOffsetsLoadInProgress is retriable by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2701](https://github.com/IBM/sarama/pull/2701) ##### 🔧 Maintenance - chore(ci): improve ossf scorecard result by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2685](https://github.com/IBM/sarama/pull/2685) - chore(ci): add kafka 3.6.0 to FVT and versions by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2692](https://github.com/IBM/sarama/pull/2692) ##### ➕ Other Changes - chore(ci): ossf scorecard.yml by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2683](https://github.com/IBM/sarama/pull/2683) - fix(ci): always run CodeQL on every commit by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2689](https://github.com/IBM/sarama/pull/2689) - chore(doc): add OpenSSF Scorecard badge by [@​dnwe](https://github.com/dnwe) in [https://github.com/IBM/sarama/pull/2691](https://github.com/IBM/sarama/pull/2691) #### New Contributors - [@​bmassemin](https://github.com/bmassemin) made their first contribution in [https://github.com/IBM/sarama/pull/2693](https://github.com/IBM/sarama/pull/2693) - [@​lzakharov](https://github.com/lzakharov) made their first contribution in [https://github.com/IBM/sarama/pull/2678](https://github.com/IBM/sarama/pull/2678) **Full Changelog**: IBM/sarama@v1.41.3...v1.42.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/newrelic/nri-kafka). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This patch upgrades sarama to v1.43.1 to pick up fix IBM/sarama#2826 related to the kafka throttling feature we supported in v24.1. It addresses a race condition where producer could be blocked. Epic: none Release note: fixed a race condition in sarama when kafka throttling is enabled Epic: none Release note: fixed a race condition in sarama when kafka throttling is enabled
133563: deps: upgrade sarama@1.42.1 to version 1.43.1 r=rharding6373 a=wenyihu6 This patch upgrades sarama to v1.43.1 to pick up fix IBM/sarama#2826 related to the kafka throttling feature we supported in v24.1. It addresses a race condition where producer could be blocked. Epic: none Release note: fixed a race condition in sarama when kafka throttling is enabled Co-authored-by: Wenyi Hu <wenyi@cockroachlabs.com>
The producer can be easily blocked due to a race condition in Broker.throttleTimer, which may result in a panic. Consider changing the type of Broker.throttleTimer to atomic.Value
Fixes #2823
Signed-off-by: chengsha shacheng@tencent.com