suborbital / e2core

Server for sandboxed third-party plugins, powered by WebAssembly
https://suborbital.dev
Apache License 2.0
721 stars 42 forks source link

chore(deps): update module github.com/twmb/franz-go to v1.14.3 #411

Closed renovate[bot] closed 10 months ago

renovate[bot] commented 1 year ago

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`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1143) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.14.2...v1.14.3) \=== This patch fixes regex consuming a deleted topic causing an unending internal loop of metadata reloading (trying to discover where the topic went). - [`627d39a`](https://togithub.com/twmb/franz-go/commit/627d39a) **bugfix** kgo: fix / improve handling deleted topics while regex consuming ### [`v1.14.2`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1142) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.14.1...v1.14.2) \=== 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`](https://togithub.com/twmb/franz-go/commit/1f696ca) **bugfix** kgo: avoid a consumer logic race where the consumer stops consuming ### [`v1.14.1`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1141) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.14.0...v1.14.1) \=== 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://togithub.com/twmb/franz-go/issues/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`](https://togithub.com/twmb/franz-go/commit/8c785fa) **bugfix** kgo: fix race between client closing and purging - [`dc5283e`](https://togithub.com/twmb/franz-go/commit/dc5283e) kgo: re-fix [#​493](https://togithub.com/twmb/franz-go/issues/493), supporting other buggy clients, and add a test - [`32ac27f`](https://togithub.com/twmb/franz-go/commit/32ac27f) **bugfix** kgo: ensure assignPartitions is locked when pausing topics/partitions ### [`v1.14.0`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1140) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.13.6...v1.14.0) \=== 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`](https://togithub.com/twmb/franz-go/commit/c3b083b) **improvement** kgo: do not returned paused topics/partitions after pausing - [`e224e90`](https://togithub.com/twmb/franz-go/commit/e224e90) **bugfix** kgo: allow HookBrokerRead and HookBrokerE2E to both be called - [`875761a`](https://togithub.com/twmb/franz-go/commit/875761a) **feature** kgo Offset: add EpochOffset getter field - [`c5d0fc5`](https://togithub.com/twmb/franz-go/commit/c5d0fc5) kgo: add a debug log for stripping retryable errors from fetches - [`b45d663`](https://togithub.com/twmb/franz-go/commit/b45d663) kgo: add more context to opportunistic metadata loads while fetching - [`9dae366`](https://togithub.com/twmb/franz-go/commit/9dae366) kgo: allow retries on dial timeouts - [`00e4e76`](https://togithub.com/twmb/franz-go/commit/00e4e76) kgo: tolerate buggy v1 group member metadata - [`34c8b3d`](https://togithub.com/twmb/franz-go/commit/34c8b3d) **feature** kgo: add AddConsumePartitions and RemoveConsumePartitions - [`b5cafba`](https://togithub.com/twmb/franz-go/commit/b5cafba) sasl: validate non-empty user/pass/token - [`76d2e71`](https://togithub.com/twmb/franz-go/commit/76d2e71) **feature** kgo: add KeepRetryableFetchErrors - [`0df3ec0`](https://togithub.com/twmb/franz-go/commit/0df3ec0) kgo: fix new niche CI problem against Kafka 3.5 - [`8ff1d0d`](https://togithub.com/twmb/franz-go/commit/8ff1d0d) **feature** pkg/kversion: attempt to guess KRaft by default as well - [`e92f5d9`](https://togithub.com/twmb/franz-go/commit/e92f5d9) **feature** pkg/kversion: detect v3.5 - [`f1b923e`](https://togithub.com/twmb/franz-go/commit/f1b923e) **feature** kgo: add DialTLS option - [`9667967`](https://togithub.com/twmb/franz-go/commit/9667967) **feature** kgo.Client: add Opts to return the original opts, to allow seeding new clients - [`8e14928`](https://togithub.com/twmb/franz-go/commit/8e14928) **feature** kgo: add NodeName for easy user formatting of internal seed node IDs ### [`v1.13.6`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1136) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.13.5...v1.13.6) \=== 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`](https://togithub.com/twmb/franz-go/commit/5c87ce0) consumer: return from Poll if the only error is an injected fake ### [`v1.13.5`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1135) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.13.4...v1.13.5) \=== 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`](https://togithub.com/twmb/franz-go/commit/3addecc) sasl plain: ignore any challenge data ### [`v1.13.4`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1134) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.13.3...v1.13.4) \=== This bugfix release fixes a race condition when calling client.Close. This bug was introduced in commit [`e45cd72`](https://togithub.com/twmb/franz-go/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. - [`ee3d7c1`](https://togithub.com/twmb/franz-go/commit/ee3d7c1) **bugfix** kgo: fix race condition in close (thanks [@​matino](https://togithub.com/matino) ### [`v1.13.3`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1133) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.13.2...v1.13.3) \=== 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`](https://togithub.com/twmb/franz-go/commit/bb66f24) kgo: purge missing-from-meta topics while regex consuming - [`f72fdaf`](https://togithub.com/twmb/franz-go/commit/f72fdaf) kgo: always retry on NotLeader for sharded requests - [`682d1f8`](https://togithub.com/twmb/franz-go/commit/682d1f8) kgo: add info log when the client is throttled - [`88fa883`](https://togithub.com/twmb/franz-go/commit/88fa883) kgo: avoid counting pinReq version failures against retries - [`de53fda`](https://togithub.com/twmb/franz-go/commit/de53fda) kgo: add a bit more context to sharded logs, avoid info log on Close - [`7338bcf`](https://togithub.com/twmb/franz-go/commit/7338bcf) kgo: avoiding context.Canceled fetch from List/Epoch, improve testing\&logs - [`055b349`](https://togithub.com/twmb/franz-go/commit/055b349) consumer: do not use the partition epoch when assigning offsets - [`d833f61`](https://togithub.com/twmb/franz-go/commit/d833f61) group consuming: block LeaveGroup between join\&sync ### [`v1.13.2`](https://togithub.com/twmb/franz-go/blob/HEAD/CHANGELOG.md#v1132) [Compare Source](https://togithub.com/twmb/franz-go/compare/v1.13.1...v1.13.2) \=== 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`](https://togithub.com/twmb/franz-go/commit/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.



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