From 2d08e02dda6fe5eb014a4505958dfcfce6030833 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Wed, 1 Jul 2015 13:57:34 +0200 Subject: [PATCH] Propagation: Make 503 a fatal error. Running further propagation jobs when the server is likely to be 503 for a time does not seem very useful. --- src/libsync/owncloudpropagator_p.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libsync/owncloudpropagator_p.h b/src/libsync/owncloudpropagator_p.h index 14e8f1721a..4fb0953428 100644 --- a/src/libsync/owncloudpropagator_p.h +++ b/src/libsync/owncloudpropagator_p.h @@ -52,11 +52,17 @@ inline QByteArray getEtagFromReply(QNetworkReply *reply) inline SyncFileItem::Status classifyError(QNetworkReply::NetworkError nerror, int httpCode) { Q_ASSERT (nerror != QNetworkReply::NoError); // we should only be called when there is an error - if (nerror > QNetworkReply::NoError && nerror <= QNetworkReply::UnknownProxyError) { + if (nerror > QNetworkReply::NoError && nerror <= QNetworkReply::UnknownProxyError) { // network error or proxy error -> fatal return SyncFileItem::FatalError; } + if (httpCode == 503) { + // "Service unavailable" + // Happens for maintenance mode and other temporary outages + return SyncFileItem::FatalError; + } + if (httpCode == 412) { // "Precondition Failed" // Happens when the e-tag has changed