John Spray
7eaa7a496b
pageserver: cancellation handling in writes to postgres client socket ( #5503 )
...
## Problem
Writes to the postgres client socket from the page server were not
wrapped in cancellation handling, so a stuck client connection could
prevent tenant shutdowwn.
## Summary of changes
All the places we call flush() to write to the socket, we should be
respecting the cancellation token for the task.
In this PR, I explicitly pass around a CancellationToken rather than
doing inline `task_mgr::shutdown_token` calls, to avoid coupling it to
the global task_mgr state and make it easier to refactor later.
I have some follow-on commits that add a Shutdown variant to QueryError
and use it more extensively, but that's pure refactor so will keep
separate from this bug fix PR.
Closes: https://github.com/neondatabase/neon/issues/5341
2023-10-09 15:54:17 +01:00
..
2023-09-12 15:11:32 +02:00
2023-07-20 13:39:19 -04:00
2023-09-08 13:54:23 +03:00
2023-07-18 12:56:40 +03:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-07-03 15:21:10 +03:00
2023-07-03 15:21:10 +03:00
2023-10-09 17:03:38 +03:00
2023-09-28 12:25:20 +03:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-09-08 16:19:57 +01:00
2023-09-18 12:58:34 +01:00
2023-04-13 14:34:29 +03:00
2023-04-13 14:34:29 +03:00
2023-09-15 16:50:57 +03:00
2023-04-13 14:34:29 +03:00
2023-09-29 19:39:28 +01:00
2023-09-27 10:00:21 +01:00
2023-09-12 15:11:32 +02:00
2023-10-06 09:59:14 +01:00
2023-04-13 14:34:29 +03:00
2023-08-03 17:20:24 +03:00
2023-09-13 22:05:30 +03:00
2023-08-19 01:01:44 +03:00
2023-08-09 16:27:53 +01:00
2023-09-15 11:17:18 +01:00
2023-09-08 16:19:57 +01:00
2023-09-15 11:17:18 +01:00
2023-09-15 11:17:18 +01:00
2023-09-19 21:55:36 +03:00
2023-04-25 14:10:18 +02:00
2023-04-13 14:34:29 +03:00
2023-07-21 21:20:53 +03:00
2023-09-08 16:19:57 +01:00
2023-08-03 17:20:24 +03:00
2023-04-13 14:34:29 +03:00
2023-04-13 14:34:29 +03:00
2023-07-18 12:56:40 +03:00
2023-09-16 18:27:19 +03:00
2023-09-08 16:19:57 +01:00
2023-04-13 14:34:29 +03:00
2023-10-06 17:25:21 +01:00
2023-09-28 12:25:20 +03:00
2023-10-04 16:52:32 +01:00
2023-10-09 15:54:17 +01:00
2023-07-18 12:56:40 +03:00
2023-08-10 15:24:43 +03:00
2023-04-13 14:34:29 +03:00
2023-09-16 18:05:35 +03:00
2023-09-12 17:13:25 -04:00
2023-09-08 16:19:57 +01:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-07-31 07:43:12 +00:00
2023-09-15 11:17:18 +01:00
2023-07-18 12:56:40 +03:00
2023-08-03 17:20:24 +03:00
2023-08-10 15:24:43 +03:00
2023-09-15 11:17:18 +01:00
2023-10-06 09:49:31 +01:00
2023-10-09 15:54:17 +01:00
2023-09-15 11:17:18 +01:00
2023-09-29 09:15:43 +01:00
2023-06-15 17:30:12 +03:00
2023-09-15 11:17:18 +01:00
2023-09-28 12:25:20 +03:00
2023-09-16 01:11:01 +03:00
2023-10-03 17:00:55 +01:00
2023-09-28 12:25:20 +03:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-04-13 14:34:29 +03:00
2023-09-15 17:47:29 +03:00
2023-08-08 09:16:21 +01:00
2023-10-04 22:53:34 +01:00
2023-06-19 15:59:38 +04:00
2023-09-08 16:19:57 +01:00
2023-09-15 11:17:18 +01:00