Pavel Emelyanov
fc5306c5e8
s3::client: Track memory in client uploads
...
When uploading an object part, client spawns a background fiber that
keeps the buffers with data on the http request's write_body() lambda
capture. This generates unbound usage of memory with uploaded buffers
which is not nice. Even though s3 client is limited with http's client
max-connections parallelism, waiting for the available connection still
happens with buffers held in memory.
This patch makes the client claim the background memory from the
provided semaphore (which, in turn, sits on the shard-wide storage
manager instance). Once body writing is complete, the claimed units are
returned back to the semaphore allowing for more background writes.
Signed-off-by: Pavel Emelyanov <xemul@scylladb.com >
2023-09-20 17:50:29 +03:00
..
2023-09-11 14:38:46 +03:00
2022-11-17 11:09:59 +02:00
2023-04-28 15:59:08 +03:00
2023-09-20 17:50:29 +03:00
2023-09-18 11:23:18 +02:00
2022-08-05 20:34:07 +03:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-09-04 16:14:38 +03:00
2023-04-17 11:14:45 +03:00
2023-04-17 11:16:45 +03:00
2023-01-16 14:36:23 +01:00
2022-01-18 12:15:18 +01:00
2023-05-07 19:01:29 +03:00
2023-04-15 12:52:30 +08:00
2022-08-08 08:02:27 +03:00
2023-03-24 15:41:45 +08:00
2023-03-24 15:41:45 +08:00
2022-05-13 07:11:58 +02:00
2022-05-13 07:11:58 +02:00
2022-01-18 12:15:18 +01:00
2023-08-06 16:36:12 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-05-07 17:17:34 +03:00
2022-06-02 11:21:05 +03:00
2023-09-01 22:34:41 +02:00
2023-09-01 22:34:41 +02:00
2023-05-02 10:48:46 +03:00
2022-01-18 12:15:18 +01:00
2022-11-12 17:04:05 +02:00
2023-07-11 09:16:33 +03:00
2022-10-02 13:41:40 +03:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2023-08-16 17:56:27 +03:00
2023-05-07 19:01:29 +03:00
2023-09-18 16:20:06 +03:00
2022-01-18 12:15:18 +01:00
2022-02-24 19:44:29 +03:00
2022-09-16 08:21:02 +03:00
2022-01-18 12:15:18 +01:00
2023-02-15 22:56:49 +08:00
2023-02-17 07:19:52 +02:00
2023-02-17 07:19:52 +02:00
2023-07-31 16:01:43 +03:00
2023-07-31 16:01:43 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2022-07-27 13:32:36 +03:00
2022-07-27 13:32:36 +03:00
2022-03-25 16:19:26 +02:00
2022-07-11 09:17:30 +02:00
2022-01-18 12:15:18 +01:00
2023-07-13 15:56:33 +02:00
2023-07-08 15:10:41 +03:00
2022-02-22 16:08:52 +01:00
2023-09-11 14:38:46 +03:00
2022-10-03 18:50:06 +03:00
2022-01-18 12:15:18 +01:00
2022-07-27 13:17:27 +03:00
2022-05-13 07:11:58 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-11 16:09:38 +03:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2023-04-24 14:06:43 +03:00
2023-04-24 14:06:40 +03:00
2023-04-24 14:06:40 +03:00
2022-07-27 16:58:52 +03:00
2022-07-27 16:58:52 +03:00
2023-02-14 19:22:19 +08:00
2023-09-14 05:25:14 -04:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-05-13 07:11:58 +02:00
2022-03-25 16:19:26 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-04-21 14:28:18 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-11-17 19:01:45 +03:00
2023-09-05 20:50:42 +03:00
2023-04-27 10:24:46 +03:00
2023-04-27 10:24:46 +03:00
2023-04-27 10:24:46 +03:00
2023-09-18 11:23:18 +02:00
2023-09-18 11:23:18 +02:00
2023-09-01 22:34:23 +02:00
2023-05-07 17:16:38 +03:00
2023-05-07 17:17:34 +03:00
2022-02-24 19:44:50 +03:00
2022-02-24 19:44:50 +03:00
2022-01-18 12:15:18 +01:00
2023-03-20 07:55:20 +02:00
2022-01-18 12:15:18 +01:00
2023-04-27 10:24:46 +03:00
2023-07-10 19:36:06 +02:00
2023-07-10 19:36:06 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-11-28 21:58:30 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-01-27 21:56:31 +01:00
2023-07-17 14:02:13 +08:00
2023-07-17 14:02:13 +08:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-02-03 19:04:32 +01:00
2022-02-22 16:25:21 +01:00
2022-04-18 12:27:18 +03:00
2023-02-28 21:56:55 +08:00
2022-03-16 12:28:47 +03:00
2023-04-26 22:09:17 +02:00
2023-01-23 13:46:06 +01:00
2023-01-16 15:15:27 +01:00
2023-06-26 11:10:38 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-05-21 11:33:38 +04:00
2022-01-18 12:15:18 +01:00
2023-05-11 16:31:23 +03:00
2023-04-24 14:06:43 +03:00
2023-05-02 10:48:46 +03:00
2023-05-24 12:08:19 +04:00
2022-05-13 07:11:58 +02:00
2023-05-15 10:19:39 +03:00
2023-06-21 00:58:24 +02:00
2023-02-15 11:09:04 +02:00
2023-05-02 10:59:58 +03:00
2022-01-18 12:15:18 +01:00
2023-06-15 15:52:50 +04:00
2023-01-27 19:15:39 +01:00
2022-01-18 12:15:18 +01:00
2022-10-05 10:52:49 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-02-17 07:19:52 +02:00
2023-07-13 10:33:52 +03:00
2023-03-20 14:25:45 +08:00
2023-07-31 19:29:18 +03:00
2022-11-27 16:34:34 +02:00
2022-01-18 12:15:18 +01:00
2023-02-17 07:19:52 +02:00