From b8d29136e66d51b7ed00d8f34deace7a58c82aaf Mon Sep 17 00:00:00 2001 From: Jerome Jutteau Date: Tue, 5 Jul 2022 08:23:01 +0200 Subject: [PATCH 1/1] [BUGFIX] retry transfering with lower size for any HTTP error code When a timeout is too low compared to sent size, server will return a 500 error. Jirafeau retry to send again but do not try to reduce chunk size. This patch will make Jiarfeau split in half it's sent size each an error occurs. ref #273 Signed-off-by: Jerome Jutteau --- lib/functions.js.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/functions.js.php b/lib/functions.js.php index 1114dfd..f5f7d54 100644 --- a/lib/functions.js.php +++ b/lib/functions.js.php @@ -529,11 +529,11 @@ function async_upload_push (code) } else { - if (req.status == 413) // Request Entity Too Large - { - // lower async_global_max_size and retry - async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.8)); - } + // lower async_global_max_size and retry + // This can occurs in several cases: + // - Request Entity Too Large (413) due to server bad configuration relative to PHP configuration + // - Server Error (500) which can happen when PHP's `max_execution_time` is too low comparared to sent size + async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.5)); async_upload_push (async_global_last_code); return; } -- 2.34.1