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 2011/11/22 00:35:24 UTC
svn commit: r1204752 -
/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/search/TestRecovery.java
Author: yonik
Date: Mon Nov 21 23:35:23 2011
New Revision: 1204752
URL: http://svn.apache.org/viewvc?rev=1204752&view=rev
Log:
more replay tests
Modified:
lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/search/TestRecovery.java
Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/search/TestRecovery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/search/TestRecovery.java?rev=1204752&r1=1204751&r2=1204752&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/search/TestRecovery.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/search/TestRecovery.java Mon Nov 21 23:35:23 2011
@@ -69,11 +69,10 @@ public class TestRecovery extends SolrTe
);
h.close();
-
-
createCore();
// verify that previous close didn't do a commit
+ // recovery should be blocked by our hook
assertJQ(req("q","id:1") ,"/response/numFound==0");
// unblock recovery
@@ -86,6 +85,30 @@ public class TestRecovery extends SolrTe
, "/response/numFound==1"
);
+ assertU(adoc("id","2"));
+ assertU(adoc("id","3"));
+ assertU(delI("2"));
+ assertU(adoc("id","4"));
+
+ assertJQ(req("q","*:*") ,"/response/numFound==1");
+
+ h.close();
+ createCore();
+
+ // wait until recovery has finished
+ assertTrue(logReplayFinish.tryAcquire(60, TimeUnit.SECONDS));
+ assertJQ(req("q","*:*") ,"/response/numFound==3");
+ assertJQ(req("q","id:2") ,"/response/numFound==0");
+
+ // no updates, so insure that recovery does not run
+ h.close();
+ int permits = logReplay.availablePermits();
+ createCore();
+ assertJQ(req("q","*:*") ,"/response/numFound==3");
+ Thread.sleep(100);
+ assertEquals(permits, logReplay.availablePermits()); // no updates, so insure that recovery didn't run
+
+
} finally {
FSUpdateLog.testing_logReplayHook = null;
FSUpdateLog.testing_logReplayFinishHook = null;