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/12 02:18:58 UTC

svn commit: r1213128 - in /lucene/dev/branches/solrcloud: lucene/src/test-framework/java/org/apache/lucene/store/ solr/core/src/java/org/apache/solr/update/ solr/core/src/test/org/apache/solr/cloud/

Author: markrmiller
Date: Mon Dec 12 01:18:58 2011
New Revision: 1213128

URL: http://svn.apache.org/viewvc?rev=1213128&view=rev
Log:
remove need to avoid checkIndex in mock dir and make update fail code a little more like it will end up being

Modified:
    lucene/dev/branches/solrcloud/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java
    lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
    lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullDistributedZkTest.java
    lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java

Modified: lucene/dev/branches/solrcloud/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java?rev=1213128&r1=1213127&r2=1213128&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java (original)
+++ lucene/dev/branches/solrcloud/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java Mon Dec 12 01:18:58 2011
@@ -106,10 +106,6 @@ public class MockDirectoryWrapper extend
   }
 
   public MockDirectoryWrapper(Random random, Directory delegate) {
-    String checkIndex = System.getProperty("mockdir.checkindex");
-    if (checkIndex != null && checkIndex.equalsIgnoreCase("false")) {
-      this.checkIndexOnClose = false;
-    }
     this.delegate = delegate;
     // must make a private random since our methods are
     // called from different threads; else test failures may

Modified: lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java?rev=1213128&r1=1213127&r2=1213128&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java Mon Dec 12 01:18:58 2011
@@ -18,6 +18,7 @@ package org.apache.solr.update;
  */
 
 import java.io.IOException;
+import java.net.ConnectException;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -333,6 +334,7 @@ public class SolrCmdDistributor {
   void checkResponses(boolean block) {
     
     int expectedResponses = pending == null ? 0 : pending.size();
+    int failedAfterConnect = 0;
     int failed = 0;
     while (pending != null && pending.size() > 0) {
       try {
@@ -345,10 +347,16 @@ public class SolrCmdDistributor {
           Request sreq = future.get();
           if (sreq.rspCode != 0) {
             // error during request
+            Exception e = sreq.exception;
+            
+            // if it failed due to connect, assume we simply have not yet
+            // learned it is down TODO: how about if we are cut off? Are we assuming too much?
+            if (!(e instanceof ConnectException)) failedAfterConnect++;
             failed++;
             // use the first exception encountered
+            // TODO: perhaps we should do more?
             if (rsp.getException() == null) {
-              Exception e = sreq.exception;
+              
               String newMsg = "shard update error (" + sreq.shards + "):"
                   + e.getMessage();
               if (e instanceof SolrException) {
@@ -379,8 +387,7 @@ public class SolrCmdDistributor {
       }
     }
     
-    // nocommit: just for kicks at the moment...
-    if (failed <= (expectedResponses / 2) - 1) {
+    if (failed <= failedAfterConnect && failed != expectedResponses) {
       rsp.setException(null);
     }
   }

Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullDistributedZkTest.java?rev=1213128&r1=1213127&r2=1213128&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullDistributedZkTest.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullDistributedZkTest.java Mon Dec 12 01:18:58 2011
@@ -178,7 +178,7 @@ public class FullDistributedZkTest exten
   
   @BeforeClass
   public static void beforeClass() throws Exception {
-    System.out.println("before full class");
+    System.setProperty("solr.directoryFactory", "solr.StandardDirectoryFactory");
     System.setProperty("CLOUD_UPDATE_DELAY", "0");
     System.setProperty("enable.update.log", "true");
     System.setProperty("remove.version.field", "true");
@@ -186,6 +186,7 @@ public class FullDistributedZkTest exten
   
   @AfterClass
   public static void afterClass() {
+    System.clearProperty("solr.directoryFactory");
     System.clearProperty("CLOUD_UPDATE_DELAY");
     System.clearProperty("enable.update.log");
     System.clearProperty("remove.version.field");

Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java?rev=1213128&r1=1213127&r2=1213128&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java Mon Dec 12 01:18:58 2011
@@ -38,12 +38,12 @@ public class RecoveryZkTest extends Full
   private static Logger log = LoggerFactory.getLogger(RecoveryZkTest.class);
   @BeforeClass
   public static void beforeSuperClass() throws Exception {
-    System.setProperty("mockdir.checkindex", "false");
+
   }
   
   @AfterClass
   public static void afterSuperClass() throws Exception {
-    System.clearProperty("mockdir.checkindex");
+
   }
   
   public RecoveryZkTest() {