Bump github.com/twmb/franz-go/pkg/kmsg from 1.3.0 to 1.4.0 #112

Closed
dependabot[bot] wants to merge 1 commits from dependabot/go_modules/github.com/twmb/franz-go/pkg/kmsg-1.4.0 into v3
dependabot[bot] commented 2023-02-08 14:04:30 +03:00 (Migrated from github.com)

Bumps github.com/twmb/franz-go/pkg/kmsg from 1.3.0 to 1.4.0.

Changelog

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

v1.4.0

This release adds a lot of new features and changes a few internal behaviors. The new features have been tested, but it is possible that a bug slipped by—if you see one, please open an issue and the bug can be fixed promptly.

Behavior changes

  • Promises are now serialized. Previously, promises were called at the end of handling produce requests. As well, errors that caused records to fail independent of producing could fail whenever. Now, all promises are called in one loop. Benchmarking showed that concurrent promises did not really help, even in cases where the promises could be concurrent. As well, my guess is that most people serialize promises, resulting in more complicated logic punted to the users. Now with serializing promises, user code can be simpler.

  • The default MetadataMinAge has been lowered from 5s to 2.5s. Metadata refreshes internally on retryable errors, 2.5s helps fail records for non-existing topics quicker. Related, for sharded requests, we now cache topic & partition metadata for the MetadataMinAge. This mostly benefits ListOffsets, where usually a person may list both the start and end back to back. We cannot cache indefinitely because a user may add partitions outside this client, but 2.5s is still helpful especially for how infrequently sharded requests are issued.

  • Group leaders now track topics that the leader is not interested in consuming. Previously, if leader A consumed only topic foo and member B only bar, then leader A would not notice if partitions were added to bar. Now, the leader tracks bar. This behavior change only affects groups where the members consume non-overlapping topics.

  • Group joins & leaves now include a reason, as per KIP-800. This will be useful when Kafka 3.2 is released.

  • Transactions no longer log CONCURRENT_TRANSACTIONS errors at the info level. This was a noisy log that meant nothing and was non-actionable. We still track this at the debug level.

Features

A few new APIs and options have been added. These will be described shortly here, and the commits are linked below.

  • ConcurrentTransactionsBackoff: a new option that allows configuring the backoff when starting a transaction runs into the CONCURRENT_TRANSACTIONS error. Changing the backoff can decrease latency if Kafka is fast, but can increase load on the cluster.

  • MaxProduceRequestsInflightPerBroker: a new option that allows changing the

... (truncated)

Commits
  • ffaee5b CHANGELOG: note v1.4
  • 29332bd bump deps && tidy examples before v1.4 release
  • c3fc8e0 goroutine per partition: add two more examples
  • cffbee7 consumer: add BlockRebalancesOnPoll option, AllowRebalances
  • 39af436 docs: add metrics-and-logging.md
  • 83dfa9d client: add EndAndBeginTransaction
  • b7a6f5a compression: check level errors ahead of time
  • d11066f committing: internally retry on some errors when cooperative
  • 4f6d264 testing: halve the number of records in e2e integration tests
  • c6ddec2 examples: tidy-examples.sh
  • 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 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)
Bumps [github.com/twmb/franz-go/pkg/kmsg](https://github.com/twmb/franz-go) from 1.3.0 to 1.4.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/twmb/franz-go/blob/master/CHANGELOG.md">github.com/twmb/franz-go/pkg/kmsg's changelog</a>.</em></p> <blockquote> <h1>v1.4.0</h1> <p>This release adds a lot of new features and changes a few internal behaviors. The new features have been tested, but it is possible that a bug slipped by—if you see one, please open an issue and the bug can be fixed promptly.</p> <h2>Behavior changes</h2> <ul> <li> <p><strong>Promises are now serialized</strong>. Previously, promises were called at the end of handling produce requests. As well, errors that caused records to fail independent of producing could fail whenever. Now, all promises are called in one loop. Benchmarking showed that concurrent promises did not really help, even in cases where the promises could be concurrent. As well, my guess is that most people serialize promises, resulting in more complicated logic punted to the users. Now with serializing promises, user code can be simpler.</p> </li> <li> <p>The default <code>MetadataMinAge</code> has been lowered from 5s to 2.5s. Metadata refreshes internally on retryable errors, 2.5s helps fail records for non-existing topics quicker. Related, for sharded requests, we now cache topic &amp; partition metadata for the <code>MetadataMinAge</code>. This mostly benefits <code>ListOffsets</code>, where usually a person may list both the start and end back to back. We cannot cache indefinitely because a user may add partitions outside this client, but 2.5s is still helpful especially for how infrequently sharded requests are issued.</p> </li> <li> <p>Group leaders now track topics that the leader is not interested in consuming. Previously, if leader A consumed only topic foo and member B only bar, then leader A would not notice if partitions were added to bar. Now, the leader tracks bar. This behavior change only affects groups where the members consume non-overlapping topics.</p> </li> <li> <p>Group joins &amp; leaves now include a reason, as per KIP-800. This will be useful when Kafka 3.2 is released.</p> </li> <li> <p>Transactions no longer log <code>CONCURRENT_TRANSACTIONS</code> errors at the info level. This was a noisy log that meant nothing and was non-actionable. We still track this at the debug level.</p> </li> </ul> <h2>Features</h2> <p>A few new APIs and options have been added. These will be described shortly here, and the commits are linked below.</p> <ul> <li> <p><code>ConcurrentTransactionsBackoff</code>: a new option that allows configuring the backoff when starting a transaction runs into the <code>CONCURRENT_TRANSACTIONS</code> error. Changing the backoff can decrease latency if Kafka is fast, but can increase load on the cluster.</p> </li> <li> <p><code>MaxProduceRequestsInflightPerBroker</code>: a new option that allows changing the</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/twmb/franz-go/commit/ffaee5b878c603ad7c27c6ab487661260958e45a"><code>ffaee5b</code></a> CHANGELOG: note v1.4</li> <li><a href="https://github.com/twmb/franz-go/commit/29332bdd8fb10826163eb7a6c01c2692f0daf62d"><code>29332bd</code></a> bump deps &amp;&amp; tidy examples before v1.4 release</li> <li><a href="https://github.com/twmb/franz-go/commit/c3fc8e03e6f462f16727da99951b32d847477d21"><code>c3fc8e0</code></a> goroutine per partition: add two more examples</li> <li><a href="https://github.com/twmb/franz-go/commit/cffbee735a31ec6662922ea4d1386d5f161c4694"><code>cffbee7</code></a> consumer: add BlockRebalancesOnPoll option, AllowRebalances</li> <li><a href="https://github.com/twmb/franz-go/commit/39af436be3fbbb557bed35e728a704aec99379a0"><code>39af436</code></a> docs: add metrics-and-logging.md</li> <li><a href="https://github.com/twmb/franz-go/commit/83dfa9d9d0525381010a4ef1dcc87e1758a8ccbd"><code>83dfa9d</code></a> client: add EndAndBeginTransaction</li> <li><a href="https://github.com/twmb/franz-go/commit/b7a6f5a93a045abf68f899d81350736b54b2e30e"><code>b7a6f5a</code></a> compression: check level errors ahead of time</li> <li><a href="https://github.com/twmb/franz-go/commit/d11066fdbc8d2b781529175bf7b4ac126aadf440"><code>d11066f</code></a> committing: internally retry on some errors when cooperative</li> <li><a href="https://github.com/twmb/franz-go/commit/4f6d26464216603fb4a8b5a4dc05a061d39c9a9c"><code>4f6d264</code></a> testing: halve the number of records in e2e integration tests</li> <li><a href="https://github.com/twmb/franz-go/commit/c6ddec25a15962636dbb90ccb91af02ff4cc6c52"><code>c6ddec2</code></a> examples: tidy-examples.sh</li> <li>Additional commits viewable in <a href="https://github.com/twmb/franz-go/compare/v1.3.0...v1.4.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/twmb/franz-go/pkg/kmsg&package-manager=go_modules&previous-version=1.3.0&new-version=1.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 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) </details>
github-actions[bot] (Migrated from github.com) reviewed 2023-02-08 14:04:43 +03:00
github-actions[bot] (Migrated from github.com) reviewed 2023-02-09 14:09:24 +03:00
github-actions[bot] (Migrated from github.com) reviewed 2023-02-13 15:11:03 +03:00
github-actions[bot] (Migrated from github.com) reviewed 2023-02-14 15:04:09 +03:00
github-actions[bot] (Migrated from github.com) reviewed 2023-02-21 15:05:59 +03:00
github-actions[bot] (Migrated from github.com) reviewed 2023-02-22 15:03:32 +03:00
github-actions[bot] (Migrated from github.com) approved these changes 2023-02-27 15:19:23 +03:00
vtolstov closed this pull request 2023-05-13 15:39:33 +03:00

Pull request closed

Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: unistack-org/micro-broker-kgo#112
No description provided.