From a16534cb0a60a3cdd873ca1a9b925f84e2b8b77b Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Thu, 28 Nov 2013 01:31:53 +0100 Subject: [PATCH] tried to fix timeout and connection-lost problems when using an outside solr. --- defaults/yacy.init | 2 +- .../net/yacy/cora/federate/solr/instance/RemoteInstance.java | 1 + source/net/yacy/search/Switchboard.java | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/defaults/yacy.init b/defaults/yacy.init index ae63a5692..773e2872c 100644 --- a/defaults/yacy.init +++ b/defaults/yacy.init @@ -1091,7 +1091,7 @@ federated.service.solr.indexing.url = http://127.0.0.1:8983/solr federated.service.solr.indexing.sharding = MODULO_HOST_MD5 # the lazy attribute causes that fields containing "" or 0 are not added and not written federated.service.solr.indexing.lazy = true -federated.service.solr.indexing.timeout = 6000 +federated.service.solr.indexing.timeout = 60000 # temporary definition of backend services to use. # After the migration a rwi+solr combination is used, the solr contains the content of the previously used metadata-db. diff --git a/source/net/yacy/cora/federate/solr/instance/RemoteInstance.java b/source/net/yacy/cora/federate/solr/instance/RemoteInstance.java index 1011eadd3..4f058dc62 100644 --- a/source/net/yacy/cora/federate/solr/instance/RemoteInstance.java +++ b/source/net/yacy/cora/federate/solr/instance/RemoteInstance.java @@ -127,6 +127,7 @@ public class RemoteInstance implements SolrInstance { if (solraccount.length() > 0) { org.apache.http.impl.conn.PoolingClientConnectionManager cm = new org.apache.http.impl.conn.PoolingClientConnectionManager(); // try also: ThreadSafeClientConnManager cm.setMaxTotal(100); + cm.setDefaultMaxPerRoute(100); this.client = new org.apache.http.impl.client.DefaultHttpClient(cm) { @Override diff --git a/source/net/yacy/search/Switchboard.java b/source/net/yacy/search/Switchboard.java index 279a3076b..a4590045d 100644 --- a/source/net/yacy/search/Switchboard.java +++ b/source/net/yacy/search/Switchboard.java @@ -510,7 +510,7 @@ public final class Switchboard extends serverSwitch { // set up the solr interface final String solrurls = getConfig(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_URL, "http://127.0.0.1:8983/solr"); final boolean usesolr = getConfigBool(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_ENABLED, false) & solrurls.length() > 0; - final int solrtimeout = getConfigInt(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_TIMEOUT, 10000); + final int solrtimeout = getConfigInt(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_TIMEOUT, 60000); if (usesolr && solrurls != null && solrurls.length() > 0) { try { @@ -1333,7 +1333,7 @@ public final class Switchboard extends serverSwitch { // set up the solr interface final String solrurls = getConfig(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_URL, "http://127.0.0.1:8983/solr"); final boolean usesolr = getConfigBool(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_ENABLED, false) & solrurls.length() > 0; - final int solrtimeout = getConfigInt(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_TIMEOUT, 10000); + final int solrtimeout = getConfigInt(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_TIMEOUT, 60000); if (usesolr && solrurls != null && solrurls.length() > 0) { try {