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

chore(deps): bump github.com/twmb/franz-go from 1.18.0 to 1.18.1 #3892

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 10, 2025

Bumps github.com/twmb/franz-go from 1.18.0 to 1.18.1.

Changelog

Sourced from github.com/twmb/franz-go's changelog.

v1.18.1

This patch release contains a myriad of fixes for relatively minor bugs, a few improvements, and updates all dependencies. Both pkg/kadm and pkg/sr are also being released as minors in tandem with a few quality of life APIs.

Bug fixes

  • Previously, if records were successfully produced but returned with an invalid offset (-1), the client would erroneously return bogus offsets to the end users. This has been fixed to return -1. (Note this was never encountered in the wild).

  • Pausing topics & partitions while using PollRecords previously could result in incorrect accounting in BufferedFetchRecords and BufferedFetchBytes, permanently causing the numbers returned to be larger than reality. That is, it is possible the functions would return non-zero numbers even though nothing was buffered.

  • When consuming from a follower (i.e. you were using the Rack option and your cluster is configured with follower fetching), if the follower you consumed from had a higher log start offset than the leader, and if you were trying to consume from an early offset that exists on the leader but not on the follower, the client would enter a permanent spinloop trying to list offsets against the follower. This is due to KIP-320 case 3, which mentions that clients should send a ListOffsets to the follower -- this is not the case, Kafka actually returns NotLeaderOrFollower when sending that request to the follower. Now the client clears the preferred replica and sends the next fetch request to the leader, at which point the leader can either serve the request or redirect back to a different preferred replica.

Improvements

  • When finishing batches, if any records were blocked in Produce due to the client hitting the maximum number of buffered records, the client would broadcast to all waiters that a message was finished for every message finished until there were no other goroutines waiting to try to produce. When lingering is enabled, linger occurs except when the client has reached the maximum number of buffered records. Once the client is as max buffered records, the client tries to flush until more records can be buffered. If you have a few concurrent producers, they will all hang trying to buffer. As soon as one is signaled, it will grab the free spot, enter into the client as buffered, and then see the client is now again at max buffered and immediately create a batch rather than lingering. Thus, signalling one at a time would cause many small single-record batches to be created and each cause a round trip to the cluster. This would result in slow performance. Now, by finishing a batch at a time, the client opens many slots at a time for any producers waiting, and ideally they can fit into being buffered without hitting max buffered and clearing any linger state. Note that single-message batches can still cause the original behavior, but there is not much more that can be done.

  • Decompression errors encountered while consuming are now returned to the end user, rather

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot requested a review from a team as a code owner February 10, 2025 02:22
@dependabot dependabot bot added automerge Used by Kodiak bot to automerge PRs dependencies Pull requests that update a dependency file go labels Feb 10, 2025
@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Feb 10, 2025
Copy link

codecov bot commented Feb 10, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.58%. Comparing base (29239ac) to head (44ebb04).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3892      +/-   ##
==========================================
- Coverage   63.61%   63.58%   -0.04%     
==========================================
  Files         171      171              
  Lines       17380    17380              
==========================================
- Hits        11057    11051       -6     
- Misses       5657     5661       +4     
- Partials      666      668       +2     
Flag Coverage Δ
unittests 63.58% <ø> (-0.04%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dependabot dependabot bot force-pushed the dependabot/go_modules/github.com/twmb/franz-go-1.18.1 branch 2 times, most recently from 2884926 to 492adc2 Compare February 10, 2025 10:13
Bumps [github.com/twmb/franz-go](https://github.com/twmb/franz-go) from 1.18.0 to 1.18.1.
- [Changelog](https://github.com/twmb/franz-go/blob/master/CHANGELOG.md)
- [Commits](twmb/franz-go@v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: github.com/twmb/franz-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/go_modules/github.com/twmb/franz-go-1.18.1 branch from 492adc2 to 44ebb04 Compare February 10, 2025 10:25
@kodiakhq kodiakhq bot merged commit 92b0e05 into main Feb 10, 2025
34 of 35 checks passed
@kodiakhq kodiakhq bot deleted the dependabot/go_modules/github.com/twmb/franz-go-1.18.1 branch February 10, 2025 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Used by Kodiak bot to automerge PRs dependencies Pull requests that update a dependency file go size:XS This PR changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants