From: Stephan Bosch Date: Fri, 4 Jan 2019 08:57:37 +0000 (+0100) Subject: plugins: fts-solr: Use a private HTTP client. X-Git-Tag: 2.3.14~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db0ab5853eeb67e38b3066113c2099f4bd4c80d4;p=thirdparty%2Fdovecot%2Fcore.git plugins: fts-solr: Use a private HTTP client. This is a workaround for problems with the http_client_request_send_payload() API that occur when several shared HTTP clients use this API at the same time and payload sending gets interleaved. --- diff --git a/src/plugins/fts-solr/solr-connection.c b/src/plugins/fts-solr/solr-connection.c index ae720b5e28..582fe81043 100644 --- a/src/plugins/fts-solr/solr-connection.c +++ b/src/plugins/fts-solr/solr-connection.c @@ -103,7 +103,14 @@ int solr_connection_init(const struct fts_solr_settings *solr_set, http_set.ssl = ssl_client_set; http_set.debug = solr_set->debug; http_set.rawlog_dir = solr_set->rawlog_dir; - solr_http_client = http_client_init(&http_set); + + /* FIXME: We should initialize a shared client instead. However, + this is currently not possible due to an obscure bug + in the blocking HTTP payload API, which causes + conflicts with other HTTP applications like FTS Tika. + Using a private client will provide a quick fix for + now. */ + solr_http_client = http_client_init_private(&http_set); } *conn_r = conn;