chore(deps): update module github.com/twmb/franz-go to v1.14.3 #411
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.13.1
->v1.14.3
Release Notes
twmb/franz-go (github.com/twmb/franz-go)
v1.14.3
Compare Source
===
This patch fixes regex consuming a deleted topic causing an unending internal
loop of metadata reloading (trying to discover where the topic went).
627d39a
bugfix kgo: fix / improve handling deleted topics while regex consumingv1.14.2
Compare Source
===
This patch fixes an internal logic race that can be easily encountered when
specifying exact offsets to consume from. If you encountered this bug, your
consumer could just stop consuming for an indeterminite amount of time. This
bug has existed for a long time and relies on both the client being slow and
the broker being fast to hit.
1f696ca
bugfix kgo: avoid a consumer logic race where the consumer stops consumingv1.14.1
Compare Source
===
This patch release, quick on the heels of v1.14.0, fixes a race condition
introduced in v1.14 in the
PauseFetchTopics
andPauseFetchPartitions
functions, a second race condition that can occur when purging a topic, and
fully addresses [#493][https://github.com/twmb/franz-go/issues/493](https://togithub.com/twmb/franz-go/issues/493)3] which was
not completely addressed in v1.14.0.
8c785fa
bugfix kgo: fix race between client closing and purgingdc5283e
kgo: re-fix #493, supporting other buggy clients, and add a test32ac27f
bugfix kgo: ensure assignPartitions is locked when pausing topics/partitionsv1.14.0
Compare Source
===
This release contains a few new APIs, one behavior change, and one minor bugfix.
Bugfixes
Previously,
HookBrokerRead
andHookBrokerE2E
could not be used at the sametime. This has been fixed.
Behavior changes
PauseFetch{Topics,Partitions}
now causes the client to drop all bufferedfetches and kill all in-flight fetch requests. Importantly, this also means
that once you pause, it is no longer possible for what you paused to be
returned while polling. Previously, the client made no attempt to clear
internal buffers / in flight requests, meaning you could receive paused data
for a while.
Seed brokers now show up in logs as
seed_###
rather thanseed ###
(anunderscore has been added).
Features
kgo.Offset
now has anEpochOffset
getter function that allows accessto the actual epoch and offset that are inside the opaque
Offset
type.AddConsumePartitions
allows adding individual partitions to consume, andthe new counterpart
RemoveConsumePartitions
allows removing individualpartitions from being consumed. Removing is different from purging, please
see the docs.
KeepRetryableFetchErrors
bubbles up retryable errors to the end user thatare encountered while fetching. By default, these errors are stripped.
kgo.DialTLS
now exists to even more easily opt into TLS.kgo.Client.Opts
now exists to return the original options that were usedto configure the client, making initializing new clients easier.
kgo.NodeName
returns a string form of a broker node name. Internally, seedbrokers use math.MinInt32 for node IDs, which shows up as massively negative
numbers in logs sometimes.
NodeName
can help convert that toseed_<#>
.Relevant commits
c3b083b
improvement kgo: do not returned paused topics/partitions after pausinge224e90
bugfix kgo: allow HookBrokerRead and HookBrokerE2E to both be called875761a
feature kgo Offset: add EpochOffset getter fieldc5d0fc5
kgo: add a debug log for stripping retryable errors from fetchesb45d663
kgo: add more context to opportunistic metadata loads while fetching9dae366
kgo: allow retries on dial timeouts00e4e76
kgo: tolerate buggy v1 group member metadata34c8b3d
feature kgo: add AddConsumePartitions and RemoveConsumePartitionsb5cafba
sasl: validate non-empty user/pass/token76d2e71
feature kgo: add KeepRetryableFetchErrors0df3ec0
kgo: fix new niche CI problem against Kafka 3.58ff1d0d
feature pkg/kversion: attempt to guess KRaft by default as welle92f5d9
feature pkg/kversion: detect v3.5f1b923e
feature kgo: add DialTLS option9667967
feature kgo.Client: add Opts to return the original opts, to allow seeding new clients8e14928
feature kgo: add NodeName for easy user formatting of internal seed node IDsv1.13.6
Compare Source
===
This minor patch release allows an injected fake fetch to be returned if that
is the only fetch ready to be returned. A fake fetch is a fetch that actually
does not contain any data, but instead contains an error (and may contain an
empty topic with a single 0 partition). Previously, a fake fetch could only be
returned if actual data was also ready to be returned. Now, a fake fetch can
always be returned. Fake fetches are most commonly experienced if you are
unable to join a group -- the client injects a fake fetch to notify you, the
client, that an error occurred. This patch actually allows you to consume that
error.
5c87ce0
consumer: return from Poll if the only error is an injected fakev1.13.5
Compare Source
===
This tiny patch release relaxes SASL/PLAIN to ignore any server response. This
patch is only useful if you are using this client against Tencent (at least as
we known at this moment). A normal broker does not reply to a successful PLAIN
auth with any data, but Tencent apparently does. Sarama and the Kafka client
itself both seem to ignore extra data once auth is successful, and if a broker
actually rejected the auth then the broker would close the connection, so
ignoring this data seems fine.
3addecc
sasl plain: ignore any challenge datav1.13.4
Compare Source
===
This bugfix release fixes a race condition when calling client.Close.
This bug was introduced in commit
e45cd72
inrelease v1.13.0. If a metadata request discovers a new broker as the client is
closing, there is a tiny window where the metadata goroutine can update a map
that the Close function is also concurrently accessing. The commit in this
release fixes that by guarding the Close access with a mutex.
ee3d7c1
bugfix kgo: fix race condition in close (thanks @matinov1.13.3
Compare Source
===
This minor patch release adds a few internal improvements and fixes no bugs.
Release 1.13.2 patched commits from occuring between join and sync; this patch
extends that to blocking LeaveGroup or Close if an active join and sync is
occurring. This is necessary because revoke callbacks are called while leaving
a group, and usually, you commit in a revoke callback.
A few extra logs are added, some areas of code are better, and a
context.Canceled error that could occasionally be returned in fetches when an
internal consumer session changed is no longer returned.
This release went through three+ straight days of looped integration testing on
two laptops to track down extremely rare test failures; those have been tracked
down.
Lastly, if you use a regex consumer and delete topics, the client now
internally purges and stops fetching those topics. Previously, any topic
discovered while regex consuming was permanently consumed until you manually
called
PurgeTopicsFromClient
.bb66f24
kgo: purge missing-from-meta topics while regex consumingf72fdaf
kgo: always retry on NotLeader for sharded requests682d1f8
kgo: add info log when the client is throttled88fa883
kgo: avoid counting pinReq version failures against retriesde53fda
kgo: add a bit more context to sharded logs, avoid info log on Close7338bcf
kgo: avoiding context.Canceled fetch from List/Epoch, improve testing&logs055b349
consumer: do not use the partition epoch when assigning offsetsd833f61
group consuming: block LeaveGroup between join&syncv1.13.2
Compare Source
===
This patch improves the behavior of committing offsets while a rebalance is
happening.
In Kafka, if a commit arrives on the broker between JoinGroup and SyncGroup,
the commit is rejected with
REBALANCE_IN_PROGRESS
. If a commit is startedbefore JoinGroup but arrives to the broker after SyncGroup, the commit is
rejected with
INVALID_GENERATION
.This patch changes how committing offsets interacts with join&sync: a client
that is joining the group will block OffsetCommit (preventing the first error),
and issuing an OffsetCommit will block the client from entering JoinGroup
(preventing the second error).
Previously, you could occasionally encounter these errors with the
cooperative-sticky group balancer because the standard behavior for eager
balancers is to commit in OnPartitionsRevoked before all partitions are dropped
at the end of a group session. You now should no longer encounter these errors
during a commit at all with any balancer unless something is going quite wrong
(massive client timeouts or broker hangs).
This does mean that OffsetCommit may take longer if you happen to commit in
while a client is joining and the join&sync takes a long time.
ee70930
kgo groups: block join&sync while a commit is inflightConfiguration
📅 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.
This PR has been generated by Mend Renovate. View repository job log here.