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 2015/01/10 17:12:39 UTC
svn commit: r1650764 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/handler/ReplicationHandler.java
Author: markrmiller
Date: Sat Jan 10 16:12:39 2015
New Revision: 1650764
URL: http://svn.apache.org/r1650764
Log:
SOLR-6793: ReplicationHandler does not destroy all of it's created SnapPullers.
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1650764&r1=1650763&r2=1650764&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Sat Jan 10 16:12:39 2015
@@ -415,6 +415,9 @@ Bug Fixes
* SOLR-6839: Direct routing with CloudSolrServer will ignore the Overwrite document option.
(Mark Miller)
+* SOLR-6793: ReplicationHandler does not destroy all of it's created SnapPullers.
+ (Mark Miller)
+
Optimizations
----------------------
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=1650764&r1=1650763&r2=1650764&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 Sat Jan 10 16:12:39 2015
@@ -329,11 +329,16 @@ public class ReplicationHandler extends
if (!snapPullLock.tryLock())
return false;
try {
- tempSnapPuller = snapPuller;
if (masterUrl != null) {
+ if (tempSnapPuller != null && tempSnapPuller != snapPuller) {
+ tempSnapPuller.destroy();
+ }
+
NamedList<Object> nl = solrParams.toNamedList();
nl.remove(SnapPuller.POLL_INTERVAL);
tempSnapPuller = new SnapPuller(nl, this, core);
+ } else {
+ tempSnapPuller = snapPuller;
}
return tempSnapPuller.fetchLatestIndex(core, forceReplication);
} catch (Exception e) {
@@ -1001,6 +1006,9 @@ public class ReplicationHandler extends
if (snapPuller != null) {
snapPuller.destroy();
}
+ if (tempSnapPuller != null && tempSnapPuller != snapPuller) {
+ tempSnapPuller.destroy();
+ }
}
@Override