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): update module github.com/twmb/franz-go to v1.14.3 #411

Merged
merged 1 commit into from
Aug 16, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 1, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
github.com/twmb/franz-go require minor 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 consuming

v1.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 consuming

v1.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 and PauseFetchPartitions
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 purging
  • dc5283e kgo: re-fix #​493, supporting other buggy clients, and add a test
  • 32ac27f bugfix kgo: ensure assignPartitions is locked when pausing topics/partitions

v1.14.0

Compare Source

===

This release contains a few new APIs, one behavior change, and one minor bugfix.

Bugfixes

Previously, HookBrokerRead and HookBrokerE2E could not be used at the same
time. This has been fixed.

Behavior changes

PauseFetch{Topics,Partitions} now causes the client to drop all buffered
fetches 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 than seed ### (an
underscore has been added).

Features

  • kgo.Offset now has an EpochOffset getter function that allows access
    to the actual epoch and offset that are inside the opaque Offset type.
  • AddConsumePartitions allows adding individual partitions to consume, and
    the new counterpart RemoveConsumePartitions allows removing individual
    partitions from being consumed. Removing is different from purging, please
    see the docs.
  • KeepRetryableFetchErrors bubbles up retryable errors to the end user that
    are encountered while fetching. By default, these errors are stripped.
  • kversion now supports Kafka 3.5
  • kversion now supports version guessing against KRaft by default
  • kgo.DialTLS now exists to even more easily opt into TLS.
  • kgo.Client.Opts now exists to return the original options that were used
    to configure the client, making initializing new clients easier.
  • kgo.NodeName returns a string form of a broker node name. Internally, seed
    brokers use math.MinInt32 for node IDs, which shows up as massively negative
    numbers in logs sometimes. NodeName can help convert that to seed_<#>.

Relevant commits

  • c3b083b improvement kgo: do not returned paused topics/partitions after pausing
  • e224e90 bugfix kgo: allow HookBrokerRead and HookBrokerE2E to both be called
  • 875761a feature kgo Offset: add EpochOffset getter field
  • c5d0fc5 kgo: add a debug log for stripping retryable errors from fetches
  • b45d663 kgo: add more context to opportunistic metadata loads while fetching
  • 9dae366 kgo: allow retries on dial timeouts
  • 00e4e76 kgo: tolerate buggy v1 group member metadata
  • 34c8b3d feature kgo: add AddConsumePartitions and RemoveConsumePartitions
  • b5cafba sasl: validate non-empty user/pass/token
  • 76d2e71 feature kgo: add KeepRetryableFetchErrors
  • 0df3ec0 kgo: fix new niche CI problem against Kafka 3.5
  • 8ff1d0d feature pkg/kversion: attempt to guess KRaft by default as well
  • e92f5d9 feature pkg/kversion: detect v3.5
  • f1b923e feature kgo: add DialTLS option
  • 9667967 feature kgo.Client: add Opts to return the original opts, to allow seeding new clients
  • 8e14928 feature kgo: add NodeName for easy user formatting of internal seed node IDs

v1.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 fake

v1.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 data

v1.13.4

Compare Source

===

This bugfix release fixes a race condition when calling client.Close.
This bug was introduced in commit e45cd72 in
release 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.

v1.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 consuming
  • f72fdaf kgo: always retry on NotLeader for sharded requests
  • 682d1f8 kgo: add info log when the client is throttled
  • 88fa883 kgo: avoid counting pinReq version failures against retries
  • de53fda kgo: add a bit more context to sharded logs, avoid info log on Close
  • 7338bcf kgo: avoiding context.Canceled fetch from List/Epoch, improve testing&logs
  • 055b349 consumer: do not use the partition epoch when assigning offsets
  • d833f61 group consuming: block LeaveGroup between join&sync

v1.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 started
before 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 inflight

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 932811d to 6402060 Compare April 30, 2023 19:41
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.13.2 chore(deps): update module github.com/twmb/franz-go to v1.13.3 Apr 30, 2023
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 6402060 to 3a05813 Compare May 18, 2023 16:51
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.13.3 chore(deps): update module github.com/twmb/franz-go to v1.13.4 May 18, 2023
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.13.4 chore(deps): update module github.com/twmb/franz-go to v1.13.5 Jun 1, 2023
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 3a05813 to d6ca54e Compare June 1, 2023 18:53
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from d6ca54e to fc512db Compare June 27, 2023 03:06
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.13.5 chore(deps): update module github.com/twmb/franz-go to v1.13.6 Jun 27, 2023
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from fc512db to 8e9fa83 Compare July 8, 2023 18:31
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.13.6 chore(deps): update module github.com/twmb/franz-go to v1.14.0 Jul 8, 2023
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 8e9fa83 to 62b4182 Compare July 11, 2023 03:08
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.14.0 chore(deps): update module github.com/twmb/franz-go to v1.14.1 Jul 11, 2023
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 62b4182 to 6bf694f Compare July 17, 2023 16:48
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.14.1 chore(deps): update module github.com/twmb/franz-go to v1.14.2 Jul 17, 2023
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 6bf694f to d07be50 Compare July 27, 2023 20:23
@renovate renovate bot changed the title chore(deps): update module github.com/twmb/franz-go to v1.14.2 chore(deps): update module github.com/twmb/franz-go to v1.14.3 Jul 27, 2023
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch 3 times, most recently from 846cb8d to 4818fc0 Compare August 16, 2023 14:01
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 4818fc0 to 95b3cb7 Compare August 16, 2023 14:14
@renovate renovate bot force-pushed the renovate/github.com-twmb-franz-go-1.x branch from 95b3cb7 to 0333381 Compare August 16, 2023 14:18
@arbourd arbourd merged commit a298b3c into main Aug 16, 2023
6 checks passed
@arbourd arbourd deleted the renovate/github.com-twmb-franz-go-1.x branch August 16, 2023 14:31
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.

1 participant