datadog-agent
datadog-agent copied to clipboard
Bump the franz-go group with 2 updates
Bumps the franz-go group with 2 updates: github.com/twmb/franz-go and github.com/twmb/franz-go/pkg/kadm.
Updates github.com/twmb/franz-go from 1.14.3 to 1.16.1
Changelog
Sourced from github.com/twmb/franz-go's changelog.
v1.16.1
This patch release fixes one bug and un-deprecates SaramaHasher.
SaramaHasher, while not identical to Sarama's partitioner, actually is identical to some other partitioners in the Kafka client ecosystem. So, the old function is now un-deprecated, but the documentation correctly points you to SaramaCompatHasher and mentions why you may still want to use SaramaHasher.
For the bug: if you tried using CommitOffsetsSync during a group rebalance, and you canceled your context while the group was still rebalancing, then CommitOffsetsSync would enter a deadlock and never return. That has been fixed.
v1.16.0
This release contains a few minor APIs and internal improvements and fixes two minor bugs.
One new API that is introduced also fixes a bug. API-wise, the
SaramaHasherwas actually not a 1:1 compatible hasher. The logic was identical, but there was a rounding error because Sarama uses int32 module arithmetic, whereas kgo used int (which is likely int64) which caused a different hash result. A newSaramaCompatHasherhas been introduced and the oldSaramaHasherhas been deprecated.The other bugfix is that
OptValueon thekgo.Loggeroption panicked if you were not using a logger. That has been fixed.The only other APIs that are introduced are in the
kversionspackage; they are minor, see the commit list below.If you issue a sharded request and any of the responses has a retryable error in the response, this is no-longer returned as a top-level shard error. The shard error is now nil, and you can properly inspect the response fully.
Lastly (besides other internal minor improvements not worth mentioning), metadata fetches can now inject fake fetches if the metadata response has topic or partition load errors. This is unconditionally true for non-retryable errors. If you use
KeepRetryableFetchErrors, you can now also see when metadata fetching is showing unknown topic errors or other retryable errors.
... (truncated)
Commits
c5207aaMerge pull request #674 from twmb/patchese08d276CHANGELOG: note further patch commit99d6dfbkgo: further fix for cd65d77d05f71ca51d81d247312d0d465fdb76c841f0269Merge pull request #673 from twmb/patch20867cdCHANGELOG: note incoming v1.16.1cd65d77kgo: fix bugd40ac19kgo: un-deprecate SaramaHasher and add docs explaining whya2d69ceMerge pull request #666 from twmb/kadm0b89158kadm: add DeleteTopic,DeleteGroup,Errorc1a3c3dMerge pull request #664 from twmb/changelog-v1.16- Additional commits viewable in compare view
Updates github.com/twmb/franz-go/pkg/kadm from 1.9.0 to 1.11.0
Changelog
Sourced from github.com/twmb/franz-go/pkg/kadm's changelog.
v1.11.0
This is a small release containing two minor features and a few behavior improvements. The
MarkedOffsetsfunction allows for manually committing marked offsets if you overrideOnPartitionsRevoked, andUnsafeAbortBufferedRecordsallows for forcefully dropping anything being produced (albeit with documented caveats and downsides)The client now guards against a broker that advertises FetchRequest v13+ (which only uses TopicIDs) but does not actually return / use TopicIDs. If you have an old IBP configured, the broker will not use TopicIDs even if the broker indicates it should. The client will now pin fetching to a max version of 12 if a topic has no TopicID.
The client now sets a record's
Topicfield earlier toDefaultProduceTopic, which allows theTopicfield to be known present (or known non-present) in theOnRecordBufferedhook.Lastly, we now universally use Go 1.19 atomic types if compiled with 1.19+. Go uses compiler intrinsics to ensure proper int64 / uint64 alignment within structs for the atomic types; Go does not ensure plain int64 / uint64 are properly aligned. A lot of work previously went into ensuring alignment and having a GitHub workflow that ran
go veton qemu armv7 emulation, but apparently that was not comprehensive enough. Now, if you use a 32 bit arch, it is recommended to just compile with 1.19+.
d1b6897feature kgo: add UnsafeAbortBufferedRecordsd0c42adimprovement kgo source: do not use fetch topic IDs if the broker returns no IDcc3a355anda2c4badimprovement kgo: universally switch to 1.19's atomics if on Go 1.19+66e626fproducer: set Record.Topic earlier3186e61feature kgo: add MarkedOffsets functionv1.10.4
This patch release fixes two bugs introduced with v1.10.0. These bugs are not encountered in when using the client to simply consume or produce. Only admin usages of the client may encounter the bugs this patch is fixing.
v1.10.0 introduced support for batch offset fetching or coordinator finding. These changes introduced a bug where empty coordinator keys (i.e., group names or transactional IDs) would be stripped from requests, and then a field in a nil pointer could be accessed and panic the program. These changes also introduced a bug that did not properly mirror one field for batched
FindCoordinatorrequests.
... (truncated)
Commits
a90ab8aMerge pull request #306 from twmb/1.11.080073c5CHANGELOG: fixup v1.11.0 bullets7a1484dCHANGELOG: note incoming v1.11.09beb8cdMerge pull request #305 from twmb/1.11.0e81c929Merge pull request #303 from twmb/no-kip-792-proto09d8b77Revert "kmsg: commit new ConsumerMemberMetadata for KIP-792"476f540Merge pull request #302 from twmb/unsafe_abortd1b6897kgo: add UnsafeAbortBufferedRecordsb942117Merge pull request #280 from twmb/marked_offsetse1206c0Merge pull request #301 from twmb/minor- Additional commits viewable in compare view
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions
Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bloop Bleep... Dogbot Here
Regression Detector Results
Run ID: 01d452c1-f53d-41f0-bce9-d0080fff7bb9 Baseline: f1a15cbfb4f13a337d6d61101a644dfb8053a6d2 Comparison: 8aea357925133a7cec308831a7334cc3a1450a35
Performance changes are noted in the perf column of each table:
- ✅ = significantly better comparison variant performance
- ❌ = significantly worse comparison variant performance
- ➖ = no significant change in performance
No significant changes in experiment optimization goals
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
There were no significant changes in experiment optimization goals at this confidence level and effect size tolerance.
Experiments ignored for regressions
Regressions in experiments with settings containing erratic: true are ignored.
| perf | experiment | goal | Δ mean % | Δ mean % CI |
|---|---|---|---|---|
| ➖ | file_to_blackhole | % cpu utilization | +1.50 | [-5.11, +8.10] |
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI |
|---|---|---|---|---|
| ➖ | basic_py_check | % cpu utilization | +1.90 | [-0.36, +4.17] |
| ➖ | file_to_blackhole | % cpu utilization | +1.50 | [-5.11, +8.10] |
| ➖ | process_agent_standard_check_with_stats | memory utilization | +0.59 | [+0.55, +0.63] |
| ➖ | process_agent_real_time_mode | memory utilization | +0.32 | [+0.27, +0.37] |
| ➖ | trace_agent_json | ingress throughput | +0.04 | [+0.01, +0.07] |
| ➖ | file_tree | memory utilization | +0.03 | [-0.09, +0.14] |
| ➖ | tcp_dd_logs_filter_exclude | ingress throughput | +0.00 | [-0.00, +0.00] |
| ➖ | uds_dogstatsd_to_api | ingress throughput | -0.00 | [-0.00, +0.00] |
| ➖ | trace_agent_msgpack | ingress throughput | -0.02 | [-0.03, -0.01] |
| ➖ | tcp_syslog_to_blackhole | ingress throughput | -0.03 | [-0.09, +0.03] |
| ➖ | process_agent_standard_check | memory utilization | -0.07 | [-0.11, -0.03] |
| ➖ | idle | memory utilization | -0.07 | [-0.11, -0.03] |
| ➖ | otel_to_otel_logs | ingress throughput | -0.45 | [-1.09, +0.19] |
| ➖ | uds_dogstatsd_to_api_cpu | % cpu utilization | -2.10 | [-3.52, -0.68] |
Explanation
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".
Test changes on VM
Use this command from test-infra-definitions to manually test this PR changes on a VM:
inv create-vm --pipeline-id=30331787 --os-family=ubuntu
Regression Detector
Regression Detector Results
Run ID: c633457e-e32a-41dd-8fc3-10856390fc22 Baseline: 112c636533b7ad352bcec605b86d80a9a65c8e19 Comparison: b628515475e4f5156e6927966f594c945784fc02
Performance changes are noted in the perf column of each table:
- ✅ = significantly better comparison variant performance
- ❌ = significantly worse comparison variant performance
- ➖ = no significant change in performance
No significant changes in experiment optimization goals
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
There were no significant changes in experiment optimization goals at this confidence level and effect size tolerance.
Experiments ignored for regressions
Regressions in experiments with settings containing erratic: true are ignored.
| perf | experiment | goal | Δ mean % | Δ mean % CI |
|---|---|---|---|---|
| ➖ | file_to_blackhole | % cpu utilization | -1.19 | [-6.39, +4.02] |
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI |
|---|---|---|---|---|
| ➖ | basic_py_check | % cpu utilization | +1.16 | [-1.29, +3.60] |
| ➖ | pycheck_1000_100byte_tags | % cpu utilization | +0.98 | [-3.93, +5.90] |
| ➖ | tcp_syslog_to_blackhole | ingress throughput | +0.80 | [+0.71, +0.88] |
| ➖ | idle | memory utilization | +0.66 | [+0.61, +0.70] |
| ➖ | otel_to_otel_logs | ingress throughput | +0.10 | [-0.31, +0.52] |
| ➖ | tcp_dd_logs_filter_exclude | ingress throughput | +0.00 | [-0.04, +0.04] |
| ➖ | trace_agent_msgpack | ingress throughput | +0.00 | [-0.01, +0.01] |
| ➖ | uds_dogstatsd_to_api | ingress throughput | +0.00 | [-0.20, +0.20] |
| ➖ | trace_agent_json | ingress throughput | -0.04 | [-0.08, -0.00] |
| ➖ | process_agent_standard_check | memory utilization | -0.12 | [-0.18, -0.05] |
| ➖ | process_agent_real_time_mode | memory utilization | -0.14 | [-0.18, -0.10] |
| ➖ | file_tree | memory utilization | -0.42 | [-0.54, -0.30] |
| ➖ | process_agent_standard_check_with_stats | memory utilization | -0.54 | [-0.60, -0.48] |
| ➖ | uds_dogstatsd_to_api_cpu | % cpu utilization | -0.57 | [-3.57, +2.42] |
| ➖ | file_to_blackhole | % cpu utilization | -1.19 | [-6.39, +4.02] |
Explanation
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".
Looks like these dependencies are updatable in another way, so this is no longer needed.