From 04978b4b10ffe303ead8a2d66e97ae7d02353ada Mon Sep 17 00:00:00 2001 From: "seer-by-sentry[bot]" <157164994+seer-by-sentry[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 19:57:42 +0000 Subject: [PATCH 1/2] fix(seer): Increase lock duration for issue summary generation --- src/sentry/seer/autofix/issue_summary.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sentry/seer/autofix/issue_summary.py b/src/sentry/seer/autofix/issue_summary.py index 20a1527f81f168..e4eb42304fe179 100644 --- a/src/sentry/seer/autofix/issue_summary.py +++ b/src/sentry/seer/autofix/issue_summary.py @@ -356,7 +356,10 @@ def get_issue_summary( cache_key = get_issue_summary_cache_key(group.id) lock_key, lock_name = get_issue_summary_lock_key(group.id) - lock_duration = 10 # How long the lock is held if acquired (seconds) + # Lock duration must exceed the HTTP timeout (30s) plus processing overhead. + # This prevents the lock from expiring while the Seer request is still pending, + # which would cause lock release failures when the request completes. + lock_duration = 40 # How long the lock is held if acquired (seconds) wait_timeout = 4.5 # How long to wait for the lock (seconds) # if force_event_id is set, we always generate a new summary From fd6a1f35064fdce287323d7ce9239da1811787f9 Mon Sep 17 00:00:00 2001 From: Kush Dubey Date: Mon, 17 Nov 2025 12:18:27 -0800 Subject: [PATCH 2/2] rm comment --- src/sentry/seer/autofix/issue_summary.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/sentry/seer/autofix/issue_summary.py b/src/sentry/seer/autofix/issue_summary.py index e4eb42304fe179..a2aacdbb0593be 100644 --- a/src/sentry/seer/autofix/issue_summary.py +++ b/src/sentry/seer/autofix/issue_summary.py @@ -356,10 +356,7 @@ def get_issue_summary( cache_key = get_issue_summary_cache_key(group.id) lock_key, lock_name = get_issue_summary_lock_key(group.id) - # Lock duration must exceed the HTTP timeout (30s) plus processing overhead. - # This prevents the lock from expiring while the Seer request is still pending, - # which would cause lock release failures when the request completes. - lock_duration = 40 # How long the lock is held if acquired (seconds) + lock_duration = 40 # How long the lock is held if acquired (seconds). request timeout is 30 sec wait_timeout = 4.5 # How long to wait for the lock (seconds) # if force_event_id is set, we always generate a new summary