[
https://issues.apache.org/jira/browse/SOLR-7173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14343348#comment-14343348
]
Timothy Potter commented on SOLR-7173:
--------------------------------------
[~ichattopadhyaya] thanks for taking this up ... a couple of minor suggestions
about your patch:
1) please add some logging around the retries
2) I've found it better to use recursion with a decrementing counter vs. nested
re-try blocks so something like the following, see where I use maxRetries as a
param:
{code}
protected int sendBatch(List<SolrInputDocument> batch, int waitBeforeRetry, int
maxRetries) throws Exception {
int sent = 0;
final Timer.Context sendTimerCtxt = sendBatchToSolrTimer.time();
try {
UpdateRequest updateRequest = new UpdateRequest();
ModifiableSolrParams params = updateRequest.getParams();
if (params == null) {
params = new ModifiableSolrParams();
updateRequest.setParams(params);
}
updateRequest.add(batch);
cloudSolrServer.request(updateRequest);
sent = batch.size();
} catch (Exception exc) {
Throwable rootCause = SolrException.getRootCause(exc);
boolean wasCommError = ...
if (wasCommError) {
if (--maxRetries > 0) {
log.warn("ERROR: " + rootCause + " ... Sleeping for "
+ waitBeforeRetry + " seconds before re-try ...");
Thread.sleep(waitBeforeRetry * 1000L);
sent = sendBatch(batch, waitBeforeRetry, maxRetries);
} else {
log.error("No more retries available! Add batch failed due to: " +
rootCause);
throw exc;
}
}
} finally {
sendTimerCtxt.stop();
}
batch.clear();
return sent;
}
{code}
> Fix ReplicationFactorTest on Windows
> ------------------------------------
>
> Key: SOLR-7173
> URL: https://issues.apache.org/jira/browse/SOLR-7173
> Project: Solr
> Issue Type: Bug
> Reporter: Ishan Chattopadhyaya
> Fix For: 5.1
>
> Attachments: SOLR-7173.patch
>
>
> The ReplicationFactorTest fails on the Windows build with
> NoHttpResponseException, as seen here:
> http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Windows/4502/testReport/junit/org.apache.solr.cloud/ReplicationFactorTest/test/
> Adding a retry logic similar to HttpPartitionTest's doSend() method makes the
> test pass on Windows.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]