Jinwoo Hong
030a1e0c77
fix(relay): stop holding a cell row across the whole control accept ( #21563 )
...
* fix(relay): stop holding a cell row across the whole control accept
The cell accept path took the host's cell row FOR UPDATE at its first
supersession statement and held it to COMMIT across a dozen round trips,
which capped a cell far from Postgres at a couple of accepts a second.
Fold every cell-row change on the path into one conditional delta write
issued last, so the contended row is held only across the commit.
* fix(relay): give relay_cells one global row lock order, taken last
Moving the accept's cell-row write to the end of its transaction put it
after the host's relay_control_connection_reservations rows, while every
director path that reads the inventory took those rows the other way
round. Pin one order for both roles -- host rows, then the shared cell
row -- by locking the host's reservation rows before the inventory in the
nine director paths that take both, document the tiers next to
CellInventoryLockMode, and add a census that fails on a new path taking
relay_cells first.
2026-09-18 23:16:15 -04:00
..
2026-09-11 14:25:10 -04:00
2026-09-17 14:02:06 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 17:55:35 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-04 04:34:22 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 23:16:15 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:35 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-07 04:40:37 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:35 -04:00
2026-09-18 23:16:15 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 23:16:15 -04:00
2026-09-18 23:16:15 -04:00
2026-09-18 17:55:19 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-16 14:50:34 -04:00
2026-09-16 14:50:34 -04:00
2026-09-18 23:16:15 -04:00
2026-09-16 14:50:34 -04:00
2026-09-04 18:18:46 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 01:46:33 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 23:16:15 -04:00
2026-09-18 23:16:15 -04:00
2026-09-17 19:25:54 -04:00
2026-09-04 04:34:22 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 19:07:11 -04:00
2026-09-17 18:54:56 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 18:54:56 -04:00
2026-09-17 16:53:39 -04:00
2026-09-18 17:55:19 -04:00
2026-09-17 01:00:28 -04:00
2026-09-17 12:26:22 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 17:55:19 -04:00
2026-09-12 18:12:20 -07:00
2026-09-12 18:12:20 -07:00
2026-09-12 18:12:20 -07:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-04 16:51:49 -04:00
2026-09-04 16:51:49 -04:00
2026-09-17 16:45:25 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-04 16:51:49 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 21:16:19 -04:00
2026-09-18 17:55:27 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 21:16:19 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 19:07:11 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 12:26:22 -04:00
2026-09-17 12:26:22 -04:00
2026-09-17 12:26:22 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 21:20:27 -04:00
2026-09-10 17:59:46 -04:00
2026-09-14 17:32:49 -04:00
2026-09-14 17:32:49 -04:00
2026-09-04 18:18:46 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-17 16:45:25 -04:00
2026-09-07 04:40:37 -04:00
2026-09-18 21:16:19 -04:00
2026-09-18 21:16:19 -04:00
2026-09-11 14:25:10 -04:00
2026-09-16 21:50:14 -04:00
2026-09-16 21:50:14 -04:00
2026-09-18 21:16:19 -04:00
2026-09-11 14:25:10 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 23:58:24 -04:00
2026-09-11 23:58:24 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 12:26:22 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 16:53:39 -04:00
2026-09-17 19:07:11 -04:00
2026-09-17 16:45:25 -04:00
2026-09-17 18:54:56 -04:00
2026-09-03 17:27:57 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 21:31:53 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-07 07:39:38 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00