Skip to content

Commit 2c5f1b9

Browse files
authored
Merge pull request BrentOzarULTD#3920 from BrentOzarULTD/copilot/fix-blocked-time-inaccuracy
sp_kill: compute lead-blocker duration from blocked wait time, not blocker request age
2 parents b4e3cef + 1c7a67f commit 2c5f1b9

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

sp_kill.sql

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -542,18 +542,20 @@ For more info, visit http://FirstResponderKit.org
542542
/* Lead blockers */
543543
UPDATE t
544544
SET Reason = N'Lead blocker: blocking '
545-
+ CAST(blocked_count.cnt AS NVARCHAR(10))
545+
+ CAST(blocked_stats.cnt AS NVARCHAR(10))
546546
+ N' session(s) for '
547-
+ CAST(ISNULL(DATEDIFF(SECOND, COALESCE(t.start_time, t.last_request_start_time), GETDATE()), 0) AS NVARCHAR(10))
547+
+ CAST(ISNULL(blocked_stats.max_wait_time_ms / 1000, 0) AS NVARCHAR(20))
548548
+ N' seconds.'
549549
FROM #hitlist t
550550
CROSS APPLY (
551-
SELECT COUNT(*) AS cnt
551+
SELECT
552+
COUNT(*) AS cnt,
553+
MAX(ISNULL(blocked.wait_time_ms, 0)) AS max_wait_time_ms
552554
FROM #hitlist blocked
553555
WHERE blocked.blocking_session_id = t.session_id
554-
) blocked_count
556+
) blocked_stats
555557
WHERE t.KillRecommended = 1
556-
AND blocked_count.cnt > 0
558+
AND blocked_stats.cnt > 0
557559
AND (t.blocking_session_id IS NULL OR t.blocking_session_id = 0)
558560
AND (t.Reason IS NULL OR t.Reason = N'Targeted by @SPID parameter.');
559561

0 commit comments

Comments
 (0)