Skip to content

Commit

Permalink
Vendor dskit 8e7752e59bab (#9594)
Browse files Browse the repository at this point in the history
Bumps dskit to latest; regenerate references. Includes dskit changes:

* Add concurrency to the memberlist transport's WriteTo method dskit#525
* Memberlist: support for debouncing notifications dskit#592
  • Loading branch information
seizethedave authored Oct 11, 2024
1 parent caa656a commit ef3ece3
Show file tree
Hide file tree
Showing 10 changed files with 221 additions and 35 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@
* [ENHANCEMENT] Add SASL plain authentication support to Kafka client used by the experimental ingest storage. Configure SASL credentials via the following settings: #9584
* `-ingest-storage.kafka.sasl-password`
* `-ingest-storage.kafka.sasl-username`
* [ENHANCEMENT] memberlist: TCP transport write path is now non-blocking, and is configurable by new flags: #9594
* `-memberlist.max-concurrent-writes`
* `-memberlist.acquire-writer-timeout`
* [ENHANCEMENT] memberlist: Notifications can now be processed once per interval specified by `-memberlist.notify-interval` to reduce notify storm CPU activity in large clusters. #9594
* [BUGFIX] Fix issue where functions such as `rate()` over native histograms could return incorrect values if a float stale marker was present in the selected range. #9508
* [BUGFIX] Fix issue where negation of native histograms (eg. `-some_native_histogram_series`) did nothing. #9508
* [BUGFIX] Fix issue where `metric might not be a counter, name does not end in _total/_sum/_count/_bucket` annotation would be emitted even if `rate` or `increase` did not have enough samples to compute a result. #9508
Expand Down
33 changes: 33 additions & 0 deletions cmd/mimir/config-descriptor.json
Original file line number Diff line number Diff line change
Expand Up @@ -16041,6 +16041,17 @@
"fieldType": "boolean",
"fieldCategory": "advanced"
},
{
"kind": "field",
"name": "notify_interval",
"required": false,
"desc": "How frequently to notify watchers when a key changes. Can reduce CPU activity in large memberlist deployments. 0 to notify without delay.",
"fieldValue": null,
"fieldDefaultValue": 0,
"fieldFlag": "memberlist.notify-interval",
"fieldType": "duration",
"fieldCategory": "advanced"
},
{
"kind": "field",
"name": "advertise_addr",
Expand Down Expand Up @@ -16233,6 +16244,28 @@
"fieldType": "duration",
"fieldCategory": "advanced"
},
{
"kind": "field",
"name": "max_concurrent_writes",
"required": false,
"desc": "Maximum number of concurrent writes to other nodes.",
"fieldValue": null,
"fieldDefaultValue": 3,
"fieldFlag": "memberlist.max-concurrent-writes",
"fieldType": "int",
"fieldCategory": "advanced"
},
{
"kind": "field",
"name": "acquire_writer_timeout",
"required": false,
"desc": "Timeout for acquiring one of the concurrent write slots. After this time, the message will be dropped.",
"fieldValue": null,
"fieldDefaultValue": 250000000,
"fieldFlag": "memberlist.acquire-writer-timeout",
"fieldType": "duration",
"fieldCategory": "advanced"
},
{
"kind": "field",
"name": "tls_enabled",
Expand Down
6 changes: 6 additions & 0 deletions cmd/mimir/help-all.txt.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -1709,6 +1709,8 @@ Usage of ./cmd/mimir/mimir:
Size of memory ballast to allocate.
-memberlist.abort-if-join-fails
If this node fails to join memberlist cluster, abort.
-memberlist.acquire-writer-timeout duration
Timeout for acquiring one of the concurrent write slots. After this time, the message will be dropped. (default 250ms)
-memberlist.advertise-addr string
Gossip address to advertise to other members in the cluster. Used for NAT traversal.
-memberlist.advertise-port int
Expand Down Expand Up @@ -1739,6 +1741,8 @@ Usage of ./cmd/mimir/mimir:
Timeout for leaving memberlist cluster. (default 20s)
-memberlist.left-ingesters-timeout duration
How long to keep LEFT ingesters in the ring. (default 5m0s)
-memberlist.max-concurrent-writes int
Maximum number of concurrent writes to other nodes. (default 3)
-memberlist.max-join-backoff duration
Max backoff duration to join other cluster members. (default 1m0s)
-memberlist.max-join-retries int
Expand All @@ -1749,6 +1753,8 @@ Usage of ./cmd/mimir/mimir:
Min backoff duration to join other cluster members. (default 1s)
-memberlist.nodename string
Name of the node in memberlist cluster. Defaults to hostname.
-memberlist.notify-interval duration
How frequently to notify watchers when a key changes. Can reduce CPU activity in large memberlist deployments. 0 to notify without delay.
-memberlist.packet-dial-timeout duration
Timeout used when connecting to other nodes to send packet. (default 2s)
-memberlist.packet-write-timeout duration
Expand Down
14 changes: 14 additions & 0 deletions docs/sources/mimir/configure/configuration-parameters/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2967,6 +2967,11 @@ The `memberlist` block configures the Gossip memberlist.
# CLI flag: -memberlist.compression-enabled
[compression_enabled: <boolean> | default = true]
# (advanced) How frequently to notify watchers when a key changes. Can reduce
# CPU activity in large memberlist deployments. 0 to notify without delay.
# CLI flag: -memberlist.notify-interval
[notify_interval: <duration> | default = 0s]
# Gossip address to advertise to other members in the cluster. Used for NAT
# traversal.
# CLI flag: -memberlist.advertise-addr
Expand Down Expand Up @@ -3059,6 +3064,15 @@ The `memberlist` block configures the Gossip memberlist.
# CLI flag: -memberlist.packet-write-timeout
[packet_write_timeout: <duration> | default = 5s]
# (advanced) Maximum number of concurrent writes to other nodes.
# CLI flag: -memberlist.max-concurrent-writes
[max_concurrent_writes: <int> | default = 3]
# (advanced) Timeout for acquiring one of the concurrent write slots. After this
# time, the message will be dropped.
# CLI flag: -memberlist.acquire-writer-timeout
[acquire_writer_timeout: <duration> | default = 250ms]
# (advanced) Enable TLS on the memberlist transport layer.
# CLI flag: -memberlist.tls-enabled
[tls_enabled: <boolean> | default = false]
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ require (
github.com/golang/snappy v0.0.4
github.com/google/gopacket v1.1.19
github.com/gorilla/mux v1.8.1
github.com/grafana/dskit v0.0.0-20241009141103-2e104a8053fa
github.com/grafana/dskit v0.0.0-20241011202249-8e7752e59bab
github.com/grafana/e2e v0.1.2-0.20240118170847-db90b84177fc
github.com/hashicorp/golang-lru v1.0.2 // indirect
github.com/json-iterator/go v1.1.12
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1256,8 +1256,8 @@ github.com/grafana-tools/sdk v0.0.0-20220919052116-6562121319fc h1:PXZQA2WCxe85T
github.com/grafana-tools/sdk v0.0.0-20220919052116-6562121319fc/go.mod h1:AHHlOEv1+GGQ3ktHMlhuTUwo3zljV3QJbC0+8o2kn+4=
github.com/grafana/alerting v0.0.0-20240926144415-27f4e81b4b6b h1:UO4mv94pG1kzKCgBKh20TXdACBCAK2vYjV3Q2MlcpEQ=
github.com/grafana/alerting v0.0.0-20240926144415-27f4e81b4b6b/go.mod h1:GMLi6d09Xqo96fCVUjNk//rcjP5NKEdjOzfWIffD5r4=
github.com/grafana/dskit v0.0.0-20241009141103-2e104a8053fa h1:jfSQq+jfs1q0cZr9n4u9g6Wz3423VJVE9grnLpx+eS4=
github.com/grafana/dskit v0.0.0-20241009141103-2e104a8053fa/go.mod h1:SPLNCARd4xdjCkue0O6hvuoveuS1dGJjDnfxYe405YQ=
github.com/grafana/dskit v0.0.0-20241011202249-8e7752e59bab h1:jrQwxBzwH5bjLUWXpaoTbq6BenhCCo2EjBLX10Hm0d4=
github.com/grafana/dskit v0.0.0-20241011202249-8e7752e59bab/go.mod h1:SPLNCARd4xdjCkue0O6hvuoveuS1dGJjDnfxYe405YQ=
github.com/grafana/e2e v0.1.2-0.20240118170847-db90b84177fc h1:BW+LjKJDz0So5LI8UZfW5neWeKpSkWqhmGjQFzcFfLM=
github.com/grafana/e2e v0.1.2-0.20240118170847-db90b84177fc/go.mod h1:JVmqPBe8A/pZWwRoJW5ZjyALeY5OXMzPl7LrVXOdZAI=
github.com/grafana/franz-go v0.0.0-20241009101240-fa97d35e871f h1:nsrRsQHfpqs6dWxErIOS3gD6R20H/9XM0ItykNtBFW8=
Expand Down
88 changes: 77 additions & 11 deletions vendor/github.com/grafana/dskit/kv/memberlist/memberlist_client.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit ef3ece3

Please sign in to comment.