Avi Kivity
1da6a939fe
Merge 'Track memory usage of S3 object uploads' from Pavel Emelyanov
...
The S3 uploading sink needs to collect buffers internally before sending them out, because the minimal upload-able part size is 5Mb. When the necessary amount of bytes is accumulated, the part uploading fibers starts in the background. On flush the sink waits for all the fibers to complete and handles failure of any.
Uploading parallelism is nowadays limited by the means of the http client max-connections parameter. However, when a part uploading fibers waits for it connection it keeps the 5Mb+ buffers on the request's body, so even though the number of uploading parts is limited, the number of _waiting_ parts is effectively not.
This PR adds a shard-wide limiter on the number of background buffers S3 clients (and theirs http clients) may use.
Closes scylladb/scylladb#15497
* github.com:scylladb/scylladb:
s3::client: Track memory in client uploads
code: Configure s3 clients' memory usage
s3::client: Construct client with shared semaphore
sstables::storage_manager: Introduce config
2023-09-21 18:24:42 +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-21 18:24:42 +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
2021-06-06 19:18:49 +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-21 17:43:53 +03: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