]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-tika: Don't crash on 500 errors (caused by 146f6f85d)
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 5 Apr 2016 13:26:08 +0000 (16:26 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 5 Apr 2016 13:27:36 +0000 (16:27 +0300)
http_req=NULL here set by http_client_request_send_payload(). Even if it
wasn't, the payload wouldn't be there.

src/plugins/fts/fts-parser-tika.c

index 99370f9469210d00c7f416f65b711e5d8f859c80..474f11be297c612ff344fb327db081c9e6f8ae17 100644 (file)
@@ -107,11 +107,13 @@ fts_tika_parser_response(const struct http_response *response,
                /* Server Error - the problem could be anything (in Tika or
                   HTTP server or proxy) and might be retriable, but Tika has
                   trouble processing some documents and throws up this error
-                  every time for those documents. So we try retrying this a
-                  couple of times, but if that doesn't work we'll just ignore
-                  it. */
-               if (http_client_request_try_retry(parser->http_req))
-                       return;
+                  every time for those documents.
+
+                  Unfortunately we can't easily re-send the request here,
+                  because we would have to re-send the entire payload, which
+                  isn't available anymore here. So we'd need to indicate
+                  in fts_parser_deinit() that we want to retry.
+                  FIXME: do this in v2.3. For now we'll just ignore it. */
                i_info("fts_tika: PUT %s failed: %u %s - ignoring",
                       mail_user_plugin_getenv(parser->user, "fts_tika"),
                       response->status, response->reason);