You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by er...@apache.org on 2015/05/26 22:15:23 UTC
svn commit: r1681839 - in /lucene/dev/trunk/solr/core/src:
java/org/apache/solr/handler/ java/org/apache/solr/update/
test/org/apache/solr/cloud/
Author: erick
Date: Tue May 26 20:15:23 2015
New Revision: 1681839
URL: http://svn.apache.org/r1681839
Log:
SOLR-6273: Cross Data Center Replication: Fix at least one test, un-Ignore tests
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationDistributedZkTest.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationHandlerTest.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrRequestHandlerTest.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java?rev=1681839&r1=1681838&r2=1681839&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java Tue May 26 20:15:23 2015
@@ -80,6 +80,7 @@ import org.apache.solr.handler.Replicati
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.SolrIndexSearcher;
+import org.apache.solr.update.CdcrUpdateLog;
import org.apache.solr.update.CommitUpdateCommand;
import org.apache.solr.update.UpdateLog;
import org.apache.solr.util.DefaultSolrThreadFactory;
@@ -808,7 +809,9 @@ public class IndexFetcher {
// this is called before copying the files to the original conf dir
// so that if there is an exception avoid corrupting the original files.
terminateAndWaitFsyncService();
+ ((CdcrUpdateLog) ulog).reset(); // reset the update log before copying the new tlog directory
copyTmpTlogFiles2Tlog(tmpTlogDir, timestamp);
+ ulog.init(solrCore.getUpdateHandler(), solrCore); // re-initialise the update log with the new directory
} finally {
delTree(tmpTlogDir);
}
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java?rev=1681839&r1=1681838&r2=1681839&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/CdcrUpdateLog.java Tue May 26 20:15:23 2015
@@ -238,6 +238,30 @@ public class CdcrUpdateLog extends Updat
}
}
+ /**
+ * expert: Reset the update log before initialisation. This is needed by the IndexFetcher during a
+ * a Recovery operation in order to re-initialise the UpdateLog with a new set of tlog files.
+ */
+ public void reset() {
+ synchronized (this) {
+ // Close readers
+ for (CdcrLogReader reader : new ArrayList<>(logPointers.keySet())) {
+ reader.close();
+ }
+
+ // Close and clear logs
+ for (TransactionLog log : logs) {
+ log.deleteOnClose = false;
+ log.decref();
+ log.forceClose();
+ }
+ logs.clear();
+
+ // reset lastDataDir for #init()
+ lastDataDir = null;
+ }
+ }
+
@Override
public void close(boolean committed, boolean deleteOnClose) {
for (CdcrLogReader reader : new ArrayList<>(logPointers.keySet())) {
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationDistributedZkTest.java?rev=1681839&r1=1681838&r2=1681839&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationDistributedZkTest.java Tue May 26 20:15:23 2015
@@ -27,7 +27,6 @@ import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
-@Ignore
@Slow
public class CdcrReplicationDistributedZkTest extends BaseCdcrDistributedZkTest {
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationHandlerTest.java?rev=1681839&r1=1681838&r2=1681839&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationHandlerTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrReplicationHandlerTest.java Tue May 26 20:15:23 2015
@@ -32,7 +32,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-@Ignore
@Slow
public class CdcrReplicationHandlerTest extends BaseCdcrDistributedZkTest {
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrRequestHandlerTest.java?rev=1681839&r1=1681838&r2=1681839&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrRequestHandlerTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CdcrRequestHandlerTest.java Tue May 26 20:15:23 2015
@@ -23,7 +23,6 @@ import org.apache.solr.handler.CdcrParam
import org.junit.Ignore;
import org.junit.Test;
-@Ignore
@Slow
public class CdcrRequestHandlerTest extends BaseCdcrDistributedZkTest {