opensearch-project / alerting

📟 Get notified when your data meets certain conditions by setting up monitors, alerts, and notifications
https://opensearch.org/docs/latest/monitoring-plugins/alerting/index/
Apache License 2.0
58 stars 99 forks source link

add distributed locking to jobs in alerting #1403

Closed sbcd90 closed 4 months ago

sbcd90 commented 5 months ago

Issue #, if available:

Description of changes: Alerting uses scheduled jobs to trigger monitor runs. In case a monitor run is a long running job, the job may not get completed before the next job is scheduled to run. This introduces a scenario where multiple jobs run in parallel resulting a race condition to acquire resources. This pr introduces distributed locking to scheduled jobs in alerting. It ensures only 1 active job can run at an instant of time.

CheckList:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.

opensearch-trigger-bot[bot] commented 2 months ago

The backport to 2.11 failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/alerting/backport-2.11 2.11
# Navigate to the new working tree
pushd ../.worktrees/alerting/backport-2.11
# Create a new branch
git switch --create backport-1403-to-2.11
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 bcaa4e36d86675850b537425b066f3c15cda15cc
# Push it to GitHub
git push --set-upstream origin backport-1403-to-2.11
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/alerting/backport-2.11

Then, create a pull request where the base branch is 2.11 and the compare/head branch is backport-1403-to-2.11.