You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2011/12/16 16:50:40 UTC

svn commit: r1215193 - /lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java

Author: markrmiller
Date: Fri Dec 16 15:50:40 2011
New Revision: 1215193

URL: http://svn.apache.org/viewvc?rev=1215193&view=rev
Log:
harden against NPE

Modified:
    lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java

Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java?rev=1215193&r1=1215192&r2=1215193&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java Fri Dec 16 15:50:40 2011
@@ -29,6 +29,7 @@ import org.apache.solr.common.cloud.Slic
 import org.apache.solr.common.cloud.ZkNodeProps;
 import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.servlet.SolrDispatchFilter;
+import org.mortbay.jetty.servlet.FilterHolder;
 
 /**
  * The monkey can stop random or specific jetties used with SolrCloud.
@@ -72,9 +73,16 @@ public class ChaosMonkey {
 
   private void stopJetty(JettySolrRunner jetty) throws Exception {
     // get a clean shutdown so that no dirs are left open...
-    ((SolrDispatchFilter)jetty.getDispatchFilter().getFilter()).destroy();
+    FilterHolder fh = jetty.getDispatchFilter();
+    if (fh != null) {
+      SolrDispatchFilter sdf = (SolrDispatchFilter) fh.getFilter();
+      if (sdf != null) {
+        sdf.destroy();
+      }
+    }
+
     jetty.stop();
-    stops .incrementAndGet();
+    stops.incrementAndGet();
   }
   
   public void stopShard(String slice) throws Exception {