prometheus/notifier
Siavash Safi 2437977bff
Some checks are pending
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (push) Waiting to run
CI / Build Prometheus for all architectures (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
fix(notify): apply config sendloop cleanup fix (#17915)
These bugs were discovered accidentally with code analysis:
- https://app.devin.ai/review/prometheus/prometheus/pull/16355

Upon further inspection and performing more analysis, 3 potential bugs were found:
1. sendloops could continue running if corresponding AM changed position in the config
2. multiple configs with the same hash would share sendloops resulting in sets without sendloops
3. sendloops could continue running if the config hash was changed

- `TestApplyConfigSendLoopsNotStoppedOnKeyChange`: Verifies sendLoops work when keys swap (no fix needed)
- `TestApplyConfigDuplicateHashSharesSendLoops`: Verifies sendLoops are independent with duplicate hashes (bug fixed)
- `TestApplyConfigHashChangeLeaksSendLoops`: Verifies sendLoops are cleaned up when hash changes (bug fixed)

Signed-off-by: Siavash Safi <siavash@cloudflare.com>
2026-01-22 22:22:44 +01:00
..
alert.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
alertmanager.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
alertmanager_test.go feat(notifier): independent alertmanager sendloops (#16355) 2026-01-20 10:33:07 +01:00
alertmanagerset.go feat(notifier): independent alertmanager sendloops (#16355) 2026-01-20 10:33:07 +01:00
manager.go fix(notify): apply config sendloop cleanup fix (#17915) 2026-01-22 22:22:44 +01:00
manager_test.go fix(notify): apply config sendloop cleanup fix (#17915) 2026-01-22 22:22:44 +01:00
metric.go feat(notifier): independent alertmanager sendloops (#16355) 2026-01-20 10:33:07 +01:00
sendloop.go feat(notifier): independent alertmanager sendloops (#16355) 2026-01-20 10:33:07 +01:00
sendloop_test.go feat(notifier): independent alertmanager sendloops (#16355) 2026-01-20 10:33:07 +01:00
util.go Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
util_test.go feat(notifier): independent alertmanager sendloops (#16355) 2026-01-20 10:33:07 +01:00