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 2013/12/01 23:05:57 UTC
svn commit: r1546864 - in /lucene/dev/branches/branch_4x: ./ solr/
solr/solrj/ solr/solrj/src/java/org/apache/solr/common/cloud/
solr/test-framework/ solr/test-framework/src/java/org/apache/solr/
solr/test-framework/src/java/org/apache/solr/cloud/
Author: markrmiller
Date: Sun Dec 1 22:05:57 2013
New Revision: 1546864
URL: http://svn.apache.org/r1546864
Log:
SOLR-5482: add option to simulate hard jetty fails with iptables
Added:
lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/IpTables.java
- copied unchanged from r1546863, lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/IpTables.java
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/solrj/ (props changed)
lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZooKeeper.java
lucene/dev/branches/branch_4x/solr/test-framework/ (props changed)
lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
Modified: lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZooKeeper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZooKeeper.java?rev=1546864&r1=1546863&r2=1546864&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZooKeeper.java (original)
+++ lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZooKeeper.java Sun Dec 1 22:05:57 2013
@@ -21,6 +21,7 @@ import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.net.SocketAddress;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
@@ -45,6 +46,10 @@ public class SolrZooKeeper extends ZooKe
return cnxn;
}
+ public SocketAddress getSocketAddress() {
+ return testableLocalSocketAddress();
+ }
+
/**
* Cause this ZooKeeper object to stop receiving from the ZooKeeperServer
* for the given number of milliseconds.
Modified: lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java?rev=1546864&r1=1546863&r2=1546864&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java Sun Dec 1 22:05:57 2013
@@ -47,6 +47,7 @@ import org.apache.lucene.util.LuceneTest
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.lucene.util._TestUtil;
import org.apache.solr.client.solrj.util.ClientUtils;
+import org.apache.solr.cloud.IpTables;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrException;
@@ -143,6 +144,8 @@ public abstract class SolrTestCaseJ4 ext
System.clearProperty("tests.shardhandler.randomSeed");
System.clearProperty("enable.update.log");
System.clearProperty("useCompoundFile");
+
+ IpTables.unblockAllPorts();
}
private static boolean changedFactory = false;
Modified: lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java?rev=1546864&r1=1546863&r2=1546864&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java (original)
+++ lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java Sun Dec 1 22:05:57 2013
@@ -210,7 +210,7 @@ public abstract class AbstractFullDistri
}
@AfterClass
- public static void afterClass() {
+ public static void afterClass() throws Exception {
System.clearProperty("solrcloud.update.delay");
System.clearProperty("genericCoreNodeNames");
}
Modified: lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java?rev=1546864&r1=1546863&r2=1546864&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java (original)
+++ lucene/dev/branches/branch_4x/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java Sun Dec 1 22:05:57 2013
@@ -17,12 +17,15 @@ package org.apache.solr.cloud;
* limitations under the License.
*/
+import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
+import javax.servlet.Filter;
+
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
@@ -226,6 +229,21 @@ public class ChaosMonkey {
}
public static void kill(CloudJettyRunner cjetty) throws Exception {
+ FilterHolder filterHolder = cjetty.jetty.getDispatchFilter();
+ if (filterHolder != null) {
+ Filter filter = filterHolder.getFilter();
+ if (filter != null) {
+ CoreContainer cores = ((SolrDispatchFilter) filter).getCores();
+ if (cores != null) {
+ int zklocalport = ((InetSocketAddress) cores.getZkController()
+ .getZkClient().getSolrZooKeeper().getSocketAddress()).getPort();
+ IpTables.blockPort(zklocalport);
+ }
+ }
+ }
+
+ IpTables.blockPort(cjetty.jetty.getLocalPort());
+
JettySolrRunner jetty = cjetty.jetty;
monkeyLog("kill shard! " + jetty.getLocalPort());
@@ -534,7 +552,8 @@ public class ChaosMonkey {
}
public static boolean start(JettySolrRunner jetty) throws Exception {
-
+
+ IpTables.unblockPort(jetty.getLocalPort());
try {
jetty.start();
} catch (Exception e) {
@@ -555,6 +574,18 @@ public class ChaosMonkey {
}
}
}
+ FilterHolder filterHolder = jetty.getDispatchFilter();
+ if (filterHolder != null) {
+ Filter filter = filterHolder.getFilter();
+ if (filter != null) {
+ CoreContainer cores = ((SolrDispatchFilter) filter).getCores();
+ if (cores != null) {
+ int zklocalport = ((InetSocketAddress) cores.getZkController()
+ .getZkClient().getSolrZooKeeper().getSocketAddress()).getPort();
+ IpTables.unblockPort(zklocalport);
+ }
+ }
+ }
return true;
}