You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by sh...@apache.org on 2009/02/12 15:10:33 UTC
svn commit: r743757 - in /lucene/solr/trunk: CHANGES.txt
src/java/org/apache/solr/handler/ReplicationHandler.java
src/java/org/apache/solr/handler/SnapPuller.java
Author: shalin
Date: Thu Feb 12 14:10:32 2009
New Revision: 743757
URL: http://svn.apache.org/viewvc?rev=743757&view=rev
Log:
SOLR-1018 -- Slave is unable to replicate when server acts as repeater (as both master and slave)
Modified:
lucene/solr/trunk/CHANGES.txt
lucene/solr/trunk/src/java/org/apache/solr/handler/ReplicationHandler.java
lucene/solr/trunk/src/java/org/apache/solr/handler/SnapPuller.java
Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=743757&r1=743756&r2=743757&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Thu Feb 12 14:10:32 2009
@@ -261,6 +261,9 @@
31. SOLR-1015: Incomplete information in replication admin page and http command response when server
is both master and slave i.e. when server is a repeater (Akshay Ukey via shalin)
+32. SOLR-1018: Slave is unable to replicate when server acts as repeater (as both master and slave)
+ (Akshay Ukey, Noble Paul via shalin)
+
Other Changes
----------------------
Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/ReplicationHandler.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/ReplicationHandler.java?rev=743757&r1=743756&r2=743757&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/ReplicationHandler.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/ReplicationHandler.java Thu Feb 12 14:10:32 2009
@@ -83,7 +83,7 @@
private boolean replicateOnCommit = false;
private boolean replicateOnStart = false;
-
+
private int numTimesReplicated = 0;
private final Map<String, FileInfo> confFileInfoCache = new HashMap<String, FileInfo>();
@@ -520,7 +520,7 @@
master.add("replicatableIndexVersion", commit.getVersion());
master.add("replicatableGeneration", commit.getGeneration());
}
-
+
SnapPuller snapPuller = tempSnapPuller;
if (snapPuller != null) {
try {
@@ -670,6 +670,16 @@
return details;
}
+ void refreshCommitpoint(){
+ IndexCommit commitPoint = core.getDeletionPolicy().getLatestCommit();
+ if(replicateOnCommit && !commitPoint.isOptimized()){
+ indexCommitPoint = commitPoint;
+ }
+ if(replicateOnOptimize && commitPoint.isOptimized()){
+ indexCommitPoint = commitPoint;
+ }
+ }
+
@SuppressWarnings("unchecked")
public void inform(SolrCore core) {
this.core = core;
@@ -717,7 +727,9 @@
LOG.warn("The update handler being used is not an instance or sub-class of DirectUpdateHandler2. " +
"Replicate on Startup cannot work.");
}
- indexCommitPoint = s.get().getReader().getIndexCommit();
+ if(s.get().getReader().getIndexCommit() != null)
+ if(s.get().getReader().getIndexCommit().getGeneration() != 1L)
+ indexCommitPoint = s.get().getReader().getIndexCommit();
} catch (IOException e) {
LOG.warn("Unable to get IndexCommit on startup", e);
} finally {
Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/SnapPuller.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/SnapPuller.java?rev=743757&r1=743756&r2=743757&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/SnapPuller.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/SnapPuller.java Thu Feb 12 14:10:32 2009
@@ -354,6 +354,7 @@
LOG.info("Force open index writer to make sure older index files get deleted");
DirectUpdateHandler2 handler = (DirectUpdateHandler2) solrCore.getUpdateHandler();
handler.forceOpenWriter();
+ replicationHandler.refreshCommitpoint();
} else {
LOG.warn("The update handler is not an instance or sub-class of DirectUpdateHandler2. " +
"ReplicationHandler may not be able to cleanup un-used index files.");