RSS3-Network / Node

In the vast RSS3 Network, the RSS3 Node delivers Open Information with efficiency, it is a steadfast cruiser in the byte-filled sea.
MIT License
22 stars 3 forks source link

build(deps): bump github.com/twmb/franz-go from 1.17.0 to 1.17.1 #438

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 2 months ago

Bumps github.com/twmb/franz-go from 1.17.0 to 1.17.1.

Changelog

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

v1.17.1

This patch release fixes four bugs (two are fixed in one commit), contains two internal improvements, and adds two other minor changes.

Bug fixes

  • If you were using the MaxBufferedBytes option and ever hit the max, odds are likely that you would experience a deadlock eventually. That has been fixed.

  • If you ever produced a record with no topic field and without using DefaultProduceTopic, or if you produced a transactional record while not in a transaction, AND if the client was at the maximum buffered records, odds are you would eventually deadlock. This has been fixed.

  • It was previously not possible to set lz4 compression levels.

  • There was a data race on a boolean field if a produce request was being written at the same time a metadata update happened, and if the metadata update has an error on the topic or partition that is actively being written. Note that the race was unlikely and if you experienced it, you would have noticed an OutOfOrderSequenceNumber error. See this comment for more details.

Improvements

  • Canceling the context you pass to Produce now propagates in two more areas: the initial InitProducerID request that occurs the first time you produce, and if the client is internally backing off due to a produce request failure. Note that there is no guarantee on which context is used for cancelation if you produce many records, and the client does not allow canceling if it is currently unsafe to do so. However, this does mean that if your cluster is somewhat down such that InitProducerID is failing on your new client, you can now actually cause the Produce to quit. See this comment for what it means for a record to be "safe" to fail.

  • The client now ignores aborted records while consuming only if you have configured FetchIsolationLevel(ReadCommitted()). Previously, the client relied entirely on the FetchResponse AbortedTransactions field, but it's possible that brokers could send aborted transactions even when not using read committed. Specifically, this was a behavior difference in Redpanda, and the KIP that introduced transactions and all relevant documents do not mention what the broker behavior actually should be here. Redpanda itself was also changed to not send aborted transactions when using read committed, but we may as well improve franz-go as well.

  • Decompression now better reuses buffers under the hood, reducing allocations.

  • Brokers that return preferred replicas to fetch from now causes an info level log in the client.

... (truncated)

Commits
  • 8b955b4 Merge pull request #793 from twmb/changelog-v1.17.1
  • 7f8a294 CHANGELOG: update for 1.17.1
  • afcb32b Merge pull request #792 from twmb/769
  • 305d8dc kgo: allow record ctx cancelation to propagate a bit more
  • d4982d7 kgo: add failure for 769
  • 718591a Merge pull request #787 from twmb/777
  • 4e14d75 Merge pull request #786 from twmb/785
  • e16c46c Merge pull request #781 from asg0451/fix-lz4-compression-levels
  • 187266a Merge pull request #774 from kalbhor/master
  • 940ed68 Merge pull request #762 from twmb/preferred_log
  • Additional commits viewable in compare view


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 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)