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 2012/10/26 04:00:45 UTC

svn commit: r1402373 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/update/DirectUpdateHandler2.java core/src/test/org/apache/solr/handler/TestReplicationHandler.java

Author: yonik
Date: Fri Oct 26 02:00:44 2012
New Revision: 1402373

URL: http://svn.apache.org/viewvc?rev=1402373&view=rev
Log:
SOLR-3938: prepareCommit command omits commitData

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
    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=1402373&r1=1402372&r2=1402373&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Fri Oct 26 02:00:44 2012
@@ -107,6 +107,9 @@ Bug Fixes
 * SOLR-3920: Fix server list caching in CloudSolrServer when using more than one
   collection list with the same instance. (Grzegorz Sobczyk, Mark Miller)
 
+* SOLR-3938: prepareCommit command omits commitData causing a failure to trigger
+  replication to slaves. (yonik)
+
 Other Changes
 ----------------------
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java?rev=1402373&r1=1402372&r2=1402373&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java Fri Oct 26 02:00:44 2012
@@ -447,7 +447,11 @@ public class DirectUpdateHandler2 extend
       log.info("start "+cmd);
       RefCounted<IndexWriter> iw = solrCoreState.getIndexWriter(core);
       try {
-        iw.get().prepareCommit();
+        final Map<String,String> commitData = new HashMap<String,String>();
+        commitData.put(SolrIndexWriter.COMMIT_TIME_MSEC_KEY,
+            String.valueOf(System.currentTimeMillis()));
+
+        iw.get().prepareCommit(commitData);
       } finally {
         iw.decref();
       }

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=1402373&r1=1402372&r2=1402373&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 Fri Oct 26 02:00:44 2012
@@ -522,6 +522,17 @@ public class TestReplicationHandler exte
     for (int i = 0; i < nDocs; i++)
       index(masterClient, "id", i, "name", "name = " + i);
 
+    // make sure prepareCommit doesn't mess up commit  (SOLR-3938)
+    // todo: make SolrJ easier to pass arbitrary params to
+    String masterUrl = "http://127.0.0.1:" + masterJetty.getLocalPort() + "/solr/update?prepareCommit=true";
+    URL url = new URL(masterUrl);
+    InputStream stream = url.openStream();
+    try {
+      stream.close();
+    } catch (IOException e) {
+      //e.printStackTrace();
+    }
+
     masterClient.commit();
 
     NamedList masterQueryRsp = rQuery(nDocs, "*:*", masterClient);
@@ -529,10 +540,10 @@ public class TestReplicationHandler exte
     assertEquals(nDocs, masterQueryResult.getNumFound());
 
     // snappull
-    String masterUrl = "http://127.0.0.1:" + slaveJetty.getLocalPort() + "/solr/replication?command=fetchindex&masterUrl=";
+    masterUrl = "http://127.0.0.1:" + slaveJetty.getLocalPort() + "/solr/replication?command=fetchindex&masterUrl=";
     masterUrl += "http://127.0.0.1:" + masterJetty.getLocalPort() + "/solr/replication";
-    URL url = new URL(masterUrl);
-    InputStream stream = url.openStream();
+    url = new URL(masterUrl);
+    stream = url.openStream();
     try {
       stream.close();
     } catch (IOException e) {