You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2013/01/03 04:48:02 UTC
svn commit: r1428156 - in
/lucene/dev/trunk/solr/core/src/java/org/apache/solr: core/Diagnostics.java
update/SolrCmdDistributor.java
Author: yonik
Date: Thu Jan 3 03:48:02 2013
New Revision: 1428156
URL: http://svn.apache.org/viewvc?rev=1428156&view=rev
Log:
tests: add test hook for SolrCmdDistributor error
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/Diagnostics.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/Diagnostics.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/Diagnostics.java?rev=1428156&r1=1428155&r2=1428156&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/Diagnostics.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/Diagnostics.java Thu Jan 3 03:48:02 2013
@@ -26,6 +26,18 @@ import java.lang.management.ThreadInfo;
public class Diagnostics {
protected static Logger log = LoggerFactory.getLogger(Diagnostics.class);
+ public interface Callable {
+ public void call(Object... data); // data depends on the context
+ }
+
+ public static void call(Callable callable, Object... data) {
+ try {
+ callable.call(data);
+ } catch (Throwable th) {
+ log.error("TEST HOOK EXCEPTION", th);
+ }
+ }
+
public static void logThreadDumps(String message) {
StringBuilder sb = new StringBuilder(32768);
if (message == null) message = "============ THREAD DUMP REQUESTED ============";
@@ -39,4 +51,5 @@ public class Diagnostics {
log.error(sb.toString());
}
+
}
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java?rev=1428156&r1=1428155&r2=1428156&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java Thu Jan 3 03:48:02 2013
@@ -40,6 +40,7 @@ import org.apache.solr.common.SolrExcept
import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.Diagnostics;
import org.apache.solr.core.SolrCore;
import org.apache.solr.util.AdjustableSemaphore;
import org.slf4j.Logger;
@@ -359,6 +360,8 @@ public class SolrCmdDistributor {
}
+ public static Diagnostics.Callable testing_errorHook; // called on error when forwarding request. Currently data=[this, Request]
+
void checkResponses(boolean block) {
while (pending != null && pending.size() > 0) {
@@ -372,7 +375,9 @@ public class SolrCmdDistributor {
Request sreq = future.get();
if (sreq.rspCode != 0) {
// error during request
-
+
+ if (testing_errorHook != null) Diagnostics.call(testing_errorHook, this, sreq);
+
// if there is a retry url, we want to retry...
boolean isRetry = sreq.node.checkRetry();
boolean doRetry = false;