goodman-oai
12b2b58e63
Release the rollout maintenance lock when its guard is dropped ( #57247 )
...
## Why
A duplicated or inherited file handle can keep the rollout maintenance lock held after its guard is dropped, blocking subsequent compression or migration.
## What changed
Explicitly unlock the file in `RolloutMaintenanceGuard::drop` so lock ownership ends with the guard even if another handle remains open.
## Testing
Add a regression test that retains a duplicated file handle, verifies that the lock stays held until the last shared guard is dropped, and checks that dropping the old handle does not release a newly acquired lock.
GitOrigin-RevId: 19005680dbc0a01b36c6f13e4ec358c6f00b75a0
2026-10-26 20:52:45 +00:00
..
2026-10-26 19:28:25 +00:00
2026-10-14 07:13:22 +00:00
2026-10-20 21:28:45 +00:00
2026-10-23 14:59:40 +00:00
2026-10-26 19:35:31 +00:00
2026-10-26 20:17:38 +00:00
2026-10-26 20:02:45 +00:00
2026-10-26 20:18:06 +00:00
2026-10-26 18:23:07 +00:00
2026-10-26 18:13:00 +00:00
2026-10-26 20:02:45 +00:00
2026-10-12 11:24:22 +00:00
2026-10-26 20:26:32 +00:00
2026-10-15 19:51:22 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:06:07 +00:00
2026-10-20 15:43:19 +00:00
2026-10-26 20:37:30 +00:00
2026-10-26 18:06:07 +00:00
2026-10-26 18:14:57 +00:00
2026-10-20 15:43:19 +00:00
2026-10-26 19:37:58 +00:00
2026-10-26 19:37:58 +00:00
2026-10-20 21:28:45 +00:00
2026-10-26 20:18:45 +00:00
2026-10-26 18:22:11 +00:00
2026-10-19 21:43:19 +00:00
2026-10-26 19:37:32 +00:00
2026-10-26 20:44:30 +00:00
2026-10-16 19:26:46 +00:00
2026-10-17 04:02:21 +00:00
2026-10-26 20:46:21 +00:00
2026-10-20 14:14:59 +00:00
2026-10-19 15:15:17 +00:00
2026-10-26 17:56:43 +00:00
2026-10-20 21:28:45 +00:00
2026-10-26 19:19:10 +00:00
2026-10-08 20:11:43 +00:00
2026-10-26 18:14:57 +00:00
2026-10-26 20:26:59 +00:00
2026-10-22 11:52:34 +00:00
2026-10-26 20:46:46 +00:00
2026-10-26 18:13:00 +00:00
2026-10-26 19:37:32 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 19:36:47 +00:00
2026-10-21 19:53:00 +00:00
2026-10-13 17:22:34 +00:00
2026-10-26 20:40:53 +00:00
2026-10-26 20:41:16 +00:00
2026-10-21 02:41:05 +00:00
2026-10-26 19:21:08 +00:00
2026-10-26 18:06:07 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:31:21 +00:00
2026-10-26 18:33:05 +00:00
2026-10-26 20:40:53 +00:00
2026-10-22 19:36:47 +00:00
2026-10-23 15:00:06 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:33:05 +00:00
2026-10-26 18:33:05 +00:00
2026-10-23 00:40:04 +00:00
2026-10-19 20:54:41 +00:00
2026-10-26 18:22:40 +00:00
2026-10-20 22:34:40 +00:00
2026-10-23 00:46:28 +00:00
2026-10-26 18:23:07 +00:00
2026-10-10 02:54:59 +00:00
2026-10-23 11:43:14 +00:00
2026-10-19 16:56:42 +00:00
2026-10-26 19:37:32 +00:00
2026-10-26 20:52:45 +00:00
2026-10-26 19:11:53 +00:00
2026-10-26 18:22:11 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 21:28:45 +00:00
2026-10-22 04:59:19 +00:00
2026-10-20 21:28:45 +00:00
2026-10-19 21:01:44 +00:00
2026-10-26 20:16:30 +00:00
2026-10-22 00:19:02 +00:00
2026-10-12 17:52:12 +00:00
2026-10-26 20:44:30 +00:00
2026-10-26 18:13:00 +00:00
2026-10-26 19:21:08 +00:00
2026-10-26 20:45:56 +00:00
2026-10-13 22:40:57 +00:00
2026-10-26 19:37:06 +00:00
2026-10-16 06:06:54 +00:00
2026-10-22 17:42:21 +00:00
2026-10-20 21:28:45 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 17:02:32 +00:00
2026-10-26 18:05:05 +00:00
2026-10-26 20:16:30 +00:00
2026-10-26 19:19:10 +00:00
2026-10-26 19:28:25 +00:00
2026-10-20 21:28:45 +00:00