in crossdc-consumer/src/main/java/org/apache/solr/crossdc/messageprocessor/SolrMessageProcessor.java [182:218]
private Result<MirroredSolrRequest> processMirroredSolrRequest(SolrRequest request, MirroredSolrRequest.Type type) throws Exception {
String connectString;
if (client.getClusterStateProvider() instanceof ZkClientClusterStateProvider) {
connectString = ((ZkClientClusterStateProvider) client.getClusterStateProvider()).getZkHost();
} else {
connectString = client.toString();
}
if (log.isDebugEnabled()) {
log.debug("Sending request to Solr at address={} with params {}", connectString, request.getParams());
}
Result<MirroredSolrRequest> result;
SolrResponseBase response = null;
Timer.Context ctx = metrics.timer(MetricRegistry.name(type.name(), "outputTime")).time();
try {
response = (SolrResponseBase) request.process(client);
} finally {
ctx.stop();
}
int status = response.getStatus();
if (log.isTraceEnabled()) {
log.trace("result status={}", status);
}
if (status != 0) {
metrics.counter(MetricRegistry.name(type.name(), "outputErrors")).inc();
throw new SolrException(SolrException.ErrorCode.getErrorCode(status), "response=" + response);
}
if (log.isDebugEnabled()) {
log.debug("Finished sending request to Solr at address={} with params {} status_code={}", connectString, request.getParams(), status);
}
result = new Result<>(ResultStatus.HANDLED);
return result;
}