Pavel Emelyanov
a15dfe0154
s3/client: Catch do_upload_file::upload_part() exceptions
...
This method spawns part uploading in the background, but still may
throw, e.g. preparing http request or claiming memory. In this case any
outstanding part upload fibers are not waited on, and the whole
do_upload_file object can be freed from under their feet. Also, the
multipart upload is not aborted, thus losing track of it until g.c.
happens.
To fix it, catch any exception from upload_part() too, and if it
happens, do what the regular upload_sink would do -- close the gate thus
picking up any outstanding activity that may happen there and abort the
multipart upload.
Indentation is deliberately left broken
Signed-off-by: Pavel Emelyanov <xemul@scylladb.com >
2024-10-16 12:23:31 +03:00
..
2023-09-11 14:38:46 +03:00
2024-10-08 12:03:30 +03:00
2024-10-16 12:23:31 +03:00
2024-07-08 16:08:27 +02:00
2024-01-18 12:50:06 +02:00
2024-10-01 14:02:50 +03:00
2023-12-02 22:37:22 +02:00
2024-08-05 08:23:35 +03:00
2024-09-11 23:21:40 +03:00
2024-10-01 14:02:50 +03:00
2024-01-18 12:50:06 +02:00
2024-09-11 23:21:40 +03:00
2024-04-19 07:44:07 +03:00
2023-12-12 21:09:51 +08:00
2024-08-05 08:23:35 +03:00
2024-06-24 12:06:01 +05:30
2024-06-24 12:06:01 +05:30
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-10-04 17:39:38 +02:00
2024-10-07 21:11:23 +03:00
2024-10-07 21:16:03 +03:00
2024-10-01 09:06:24 +03:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-07-18 18:38:22 +03:00
2024-10-08 12:03:15 +03:00
2024-09-25 15:45:42 +03:00
2024-09-27 01:24:54 +02:00
2024-01-18 12:50:06 +02:00
2024-10-07 21:19:14 +03:00
2024-08-05 08:23:35 +03:00
2023-12-20 10:25:03 +02:00
2024-05-18 00:24:00 +03:00
2024-05-18 00:24:00 +03:00
2024-09-30 12:07:15 +08:00
2024-02-01 12:20:23 +05:30
2024-08-11 13:52:35 +03:00
2024-05-26 16:45:42 +03:00
2024-08-04 15:32:01 +03:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-07-10 20:39:01 +03:00
2024-10-07 21:28:36 +03:00
2024-08-05 08:23:35 +03:00
2024-04-19 07:44:07 +03:00
2024-01-18 12:50:06 +02:00
2024-02-01 14:50:17 +02:00
2024-05-26 16:45:42 +03:00
2024-08-05 08:23:35 +03:00
2024-02-02 15:20:40 +01:00
2024-08-05 08:23:35 +03:00
2024-10-07 21:32:16 +03:00
2024-09-27 01:24:54 +02:00
2024-10-07 10:55:48 +03:00
2024-05-27 17:34:38 +03:00
2024-01-23 13:12:34 +02:00
2024-08-22 23:34:24 +03:00
2024-09-18 13:59:22 +03:00
2024-03-12 14:53:55 +08:00
2024-04-19 07:44:07 +03:00
2024-08-05 08:23:35 +03:00
2024-10-07 10:55:48 +03:00
2024-08-05 08:23:35 +03:00
2024-10-07 17:26:01 +03:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-09-11 23:21:40 +03:00
2024-10-01 14:02:50 +03:00
2024-10-08 11:54:34 +03:00
2024-08-05 08:23:35 +03:00
2024-10-08 12:07:14 +03:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-02-23 11:32:41 +08:00
2024-04-19 22:56:13 +08:00
2023-11-20 23:02:41 +02:00
2024-07-04 10:07:48 +03:00
2023-12-02 22:37:22 +02:00
2024-06-24 08:24:43 +03:00
2024-10-01 14:02:50 +03:00
2024-02-09 17:00:33 +01:00
2024-10-07 21:11:07 +03:00
2024-01-31 16:45:09 +02:00
2024-08-05 08:23:35 +03:00
2024-02-07 18:31:28 +01:00
2024-08-05 08:23:35 +03:00
2024-01-31 09:16:10 +02:00
2023-12-02 22:37:22 +02:00
2024-02-02 22:12:57 +08:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-09-12 15:22:49 +03:00
2024-10-06 12:47:51 +03:00
2024-10-01 14:02:50 +03:00
2024-04-19 22:57:36 +08:00
2024-08-08 10:42:09 +02:00
2024-06-18 23:36:30 +05:30
2024-08-15 02:12:58 +02:00
2024-08-05 08:23:35 +03:00
2024-08-19 17:20:12 +03:00
2024-04-23 12:09:05 +03:00
2024-08-05 08:23:35 +03:00
2024-10-07 17:30:12 +03:00
2023-12-02 22:37:22 +02:00
2024-08-19 17:20:12 +03:00
2023-12-02 22:37:22 +02:00
2024-04-30 09:07:22 +03:00
2024-08-05 08:23:35 +03:00
2024-09-11 23:21:40 +03:00
2024-08-05 08:23:35 +03:00
2024-08-13 10:02:43 +02:00
2024-10-01 14:02:50 +03:00
2024-05-18 00:24:00 +03:00