Botond Dénes
ddf8547f25
Merge 'Add concurrency control and workload isolation for S3 client' from Pavel Emelyanov
...
In its current state s3 client uses a single default-configured http client thus making different sched classes' workload compete with each other for sockets to make requests on. There's an attempt to handle that in upload-sink implementation that limits itself with some small number of concurrent PUT requests, but that doesn't help much as many sinks don't share this limit.
This PR makes S3 client maintain a set of http clients, one per sched-group, configures maximum number of TCP connections proportional to group's shares and removes the artificial limit from sinks thus making them share the group's http concurrency limit.
As a side effect, the upload-sink fixes the no-writes-after-flush protection -- if it's violated, write will result in exception, while currently it just hangs on a semaphore forever.
fixes : #13458
fixes : #13320
fixes : #13021
Closes #14187
* github.com:scylladb/scylladb:
s3/client: Replace skink flush semaphore with gate
s3/client: Configure different max-connections on http clients
s3/client: Maintain several http clients on-board
s3/client: Remove now unused http reference from sink and file
s3/client: Add make_request() method
2023-06-20 07:09:21 +03:00
..
2022-11-27 12:25:20 +02:00
2022-11-17 11:09:59 +02:00
2023-04-28 15:59:08 +03:00
2023-06-08 18:38:57 +03:00
2022-02-24 19:44:50 +03: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
2022-01-18 12:15:18 +01: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-04-27 10:24:46 +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-06-06 13:29:16 +03: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-04-23 08:37:32 +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-04-06 09:51:28 -04:00
2023-05-07 19:01:29 +03:00
2023-03-29 19:22:21 +08: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-06-07 20:25:49 +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-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
2022-04-26 14:46:42 +03:00
2022-07-26 15:59:33 +03:00
2022-02-22 16:08:52 +01:00
2022-07-05 16:41:09 +02: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
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
2022-11-17 19:01:45 +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-05-29 23:03:25 +03:00
2022-09-16 13:02:40 +03:00
2023-01-27 21:56:31 +01: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
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-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
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
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-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-04-21 10:33:02 +02:00
2023-03-20 14:25:45 +08:00
2023-05-07 18:07:49 +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