You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jd...@apache.org on 2012/04/23 19:12:42 UTC

svn commit: r1329337 - in /lucene/dev/trunk/solr: ./ core/src/java/org/apache/solr/handler/ core/src/test-files/solr/conf/ core/src/test/org/apache/solr/handler/

Author: jdyer
Date: Mon Apr 23 17:12:42 2012
New Revision: 1329337

URL: http://svn.apache.org/viewvc?rev=1329337&view=rev
Log:
SOLR-3361: fix "maxNumberOfBackups" to work if backups are triggered on commit

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
    lucene/dev/trunk/solr/core/src/test-files/solr/conf/solrconfig-master1-keepOneBackup.xml
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1329337&r1=1329336&r2=1329337&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Mon Apr 23 17:12:42 2012
@@ -379,6 +379,9 @@ Bug Fixes
  
 * SOLR-3352: eDismax: pf2 should kick in for a query with 2 terms (janhoy)
 
+* SOLR-3361: ReplicationHandler "maxNumberOfBackups" doesn't work if backups are triggered on commit
+  (James Dyer, Tomas Fernandez Lobbe)
+
 Other Changes
 ----------------------
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java?rev=1329337&r1=1329336&r2=1329337&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java Mon Apr 23 17:12:42 2012
@@ -993,9 +993,13 @@ public class ReplicationHandler extends 
           ***/
         }
         if (snapshoot) {
-          try {
+          try {            
+            int numberToKeep = numberBackupsToKeep;
+            if (numberToKeep < 1) {
+              numberToKeep = Integer.MAX_VALUE;
+            }            
             SnapShooter snapShooter = new SnapShooter(core, null);
-            snapShooter.createSnapAsync(currentCommitPoint, ReplicationHandler.this);
+            snapShooter.createSnapAsync(currentCommitPoint, numberToKeep, ReplicationHandler.this);
           } catch (Exception e) {
             LOG.error("Exception while snapshooting", e);
           }

Modified: lucene/dev/trunk/solr/core/src/test-files/solr/conf/solrconfig-master1-keepOneBackup.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test-files/solr/conf/solrconfig-master1-keepOneBackup.xml?rev=1329337&r1=1329336&r2=1329337&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test-files/solr/conf/solrconfig-master1-keepOneBackup.xml (original)
+++ lucene/dev/trunk/solr/core/src/test-files/solr/conf/solrconfig-master1-keepOneBackup.xml Mon Apr 23 17:12:42 2012
@@ -32,7 +32,7 @@
 
   <requestHandler name="/replication" class="solr.ReplicationHandler">
     <lst name="master">
-      <str name="replicateAfter">commit</str>
+      <str name="backupAfter">commit</str>
       <str name="confFiles">schema-replication2.xml:schema.xml</str>
     </lst>    
     <str name="maxNumberOfBackups">1</str>

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java?rev=1329337&r1=1329336&r2=1329337&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java Mon Apr 23 17:12:42 2012
@@ -243,7 +243,7 @@ public class TestReplicationHandler exte
   }
 
   public void test() throws Exception {
-    doTestReplicateAfterCoreReload();
+   doTestReplicateAfterCoreReload();
     doTestDetails();
     doTestReplicateAfterWrite2Slave();
     doTestIndexAndConfigReplication();
@@ -776,7 +776,6 @@ public class TestReplicationHandler exte
     if(random().nextBoolean()) {
       configFile = "solrconfig-master1-keepOneBackup.xml";
       addNumberToKeepInRequest = false;
-      backupKeepParamName = ReplicationHandler.NUMBER_BACKUPS_TO_KEEP_INIT_PARAM;
     }
     
     masterJetty.stop();
@@ -864,8 +863,16 @@ public class TestReplicationHandler exte
     File[] snapDir = new File[2];
     String firstBackupTimestamp = null;
     for(int i=0 ; i<2 ; i++) {
-      BackupThread backupThread = new BackupThread(addNumberToKeepInRequest, backupKeepParamName);
-      backupThread.start();
+      BackupThread backupThread = null;
+      if(!addNumberToKeepInRequest) {
+        if(random().nextBoolean()) {
+          masterClient.commit();
+        } else {
+          backupThread = new BackupThread(addNumberToKeepInRequest, backupKeepParamName);
+          backupThread.start();
+        }
+      }
+      
       
       File dataDir = new File(master.getDataDir());
       
@@ -890,7 +897,7 @@ public class TestReplicationHandler exte
         waitCnt++;
       }
       
-      if(backupThread.fail != null) {
+      if(backupThread!= null && backupThread.fail != null) {
         fail(backupThread.fail);
       }