Mercurial > dovecot > core-2.2
changeset 18920:35d3777cc4d2
fts: If Tika returns 500, retry it a couple of times and then fallback to ignoring the problem.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 07 Aug 2015 11:31:29 +0300 |
parents | 98158ef015f7 |
children | c143d037fd54 |
files | src/plugins/fts/fts-parser-tika.c |
diffstat | 1 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts/fts-parser-tika.c Thu Aug 06 22:36:20 2015 +0300 +++ b/src/plugins/fts/fts-parser-tika.c Fri Aug 07 11:31:29 2015 +0300 @@ -103,6 +103,21 @@ } parser->payload = i_stream_create_from_data("", 0); break; + case 500: + /* 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; + i_info("fts_tika: PUT %s failed: %u %s - ignoring", + mail_user_plugin_getenv(parser->user, "fts_tika"), + response->status, response->reason); + parser->payload = i_stream_create_from_data("", 0); + break; + default: i_error("fts_tika: PUT %s failed: %u %s", mail_user_plugin_getenv(parser->user, "fts_tika"),