You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dp...@apache.org on 2016/03/20 18:33:06 UTC

[1/2] lucene-solr:master: SOLR-8599: Improved the tests for this issue to avoid changing a variable to non-final

Repository: lucene-solr
Updated Branches:
  refs/heads/master d39294009 -> fecdec6c8


SOLR-8599: Improved the tests for this issue to avoid changing a variable to non-final


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e3b785a9
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e3b785a9
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e3b785a9

Branch: refs/heads/master
Commit: e3b785a906d6f93e04f2cb45c436516158af0425
Parents: d392940
Author: Dennis Gove <dp...@gmail.com>
Authored: Sun Mar 20 11:13:56 2016 -0400
Committer: Dennis Gove <dp...@gmail.com>
Committed: Sun Mar 20 11:13:56 2016 -0400

----------------------------------------------------------------------
 .../solr/cloud/ConnectionManagerTest.java       | 40 ++++++++++++++++----
 .../solr/common/cloud/ConnectionManager.java    |  8 +---
 2 files changed, 33 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e3b785a9/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java b/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
index c16d758..7eec2c0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ConnectionManagerTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.solr.cloud;
 
+import java.io.IOException;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
@@ -23,9 +24,14 @@ import java.util.concurrent.TimeUnit;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.cloud.ConnectionManager;
+import org.apache.solr.common.cloud.DefaultConnectionStrategy;
+import org.apache.solr.common.cloud.OnReconnect;
 import org.apache.solr.common.cloud.SolrZkClient;
+import org.apache.solr.common.cloud.ZkClientConnectionStrategy;
+import org.apache.solr.common.cloud.ZkClientConnectionStrategy.ZkUpdate;
 import org.apache.solr.util.DefaultSolrThreadFactory;
 import org.apache.zookeeper.WatchedEvent;
+import org.apache.zookeeper.Watcher;
 import org.apache.zookeeper.Watcher.Event.EventType;
 import org.apache.zookeeper.Watcher.Event.KeeperState;
 import org.junit.Ignore;
@@ -129,22 +135,19 @@ public class ConnectionManagerTest extends SolrTestCaseJ4 {
       AbstractZkTestCase.tryCleanSolrZkNode(server.getZkHost());
       AbstractZkTestCase.makeSolrZkNode(server.getZkHost());
       
-      SolrZkClient zkClient = new SolrZkClient(server.getZkAddress(), TIMEOUT);
+      MockZkClientConnectionStrategy strat = new MockZkClientConnectionStrategy();
+      SolrZkClient zkClient = new SolrZkClient(server.getZkAddress(), TIMEOUT, strat , null);
       ConnectionManager cm = zkClient.getConnectionManager();
+      
       try {
         assertFalse(cm.isLikelyExpired());
         assertTrue(cm.isConnected());
-        
-        
-        cm.setZkServerAddress("http://BADADDRESS");
-        executor.schedule(() -> {
-          cm.setZkServerAddress(server.getZkAddress()); 
-        }, 5, TimeUnit.SECONDS);
-        
+               
         // reconnect -- should no longer be likely expired
         cm.process(new WatchedEvent(EventType.None, KeeperState.Expired, ""));
         assertFalse(cm.isLikelyExpired());
         assertTrue(cm.isConnected());
+        assertTrue(strat.isExceptionThrow());
       } finally {
         cm.close();
         zkClient.close();
@@ -154,4 +157,25 @@ public class ConnectionManagerTest extends SolrTestCaseJ4 {
       server.shutdown();
     }
   }
+  
+  private class MockZkClientConnectionStrategy extends DefaultConnectionStrategy {
+    int called = 0;
+    boolean exceptionThrown = false;
+    
+    @Override
+    public void reconnect(final String serverAddress, final int zkClientTimeout,
+        final Watcher watcher, final ZkUpdate updater) throws IOException {
+      
+      if(called++ < 1) {
+        exceptionThrown = true;
+        throw new IOException("Testing");
+      }
+      
+      super.reconnect(serverAddress, zkClientTimeout, watcher, updater);
+    }
+    
+    public boolean isExceptionThrow() {
+      return exceptionThrown;
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e3b785a9/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
index cc9327a..1754a2d 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
@@ -37,8 +37,7 @@ public class ConnectionManager implements Watcher {
 
   private final ZkClientConnectionStrategy connectionStrategy;
 
-  //expert: mutable for testing
-  private String zkServerAddress;
+  private final String zkServerAddress;
 
   
 
@@ -255,9 +254,4 @@ public class ConnectionManager implements Watcher {
           "", e);
     }
   }
-  
-  //expert: mutable for testing
-  public void setZkServerAddress(String zkServerAddress) {
-    this.zkServerAddress = zkServerAddress;
-  }
 }


[2/2] lucene-solr:master: SOLR-5616: Simplifies grouping code to use ResponseBuilder.needDocList() to determine if it needs to generate a doc list for grouped results.

Posted by dp...@apache.org.
SOLR-5616: Simplifies grouping code to use ResponseBuilder.needDocList() to determine if it needs to generate a doc list for grouped results.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/fecdec6c
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/fecdec6c
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/fecdec6c

Branch: refs/heads/master
Commit: fecdec6c85f6180f00e870ca8ec14058d30a1fae
Parents: e3b785a
Author: Dennis Gove <dp...@gmail.com>
Authored: Sun Mar 20 13:30:29 2016 -0400
Committer: Dennis Gove <dp...@gmail.com>
Committed: Sun Mar 20 13:30:29 2016 -0400

----------------------------------------------------------------------
 solr/CHANGES.txt                                                  | 3 +++
 .../java/org/apache/solr/handler/component/DebugComponent.java    | 1 +
 .../org/apache/solr/handler/component/HighlightComponent.java     | 1 +
 .../org/apache/solr/handler/component/MoreLikeThisComponent.java  | 3 +++
 .../java/org/apache/solr/handler/component/QueryComponent.java    | 2 +-
 5 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fecdec6c/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 75dd73a..fe8c4c4 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -76,6 +76,9 @@ Other Changes
   permission name.
  The APIs are also modified to ue 'index' as the unique identifier instead of name.
   Name is an optional attribute
  now and only to be used when specifying well-known permissions (noble)
 
+* SOLR-5616: Simplifies grouping code to use ResponseBuilder.needDocList() to determine if it needs to
+  generate a doc list for grouped results. (Steven Bower, Keith Laban, Dennis Gove)
+
 ==================  6.0.0 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fecdec6c/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java b/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
index 1b82f67..207bfa3 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
@@ -82,6 +82,7 @@ public class DebugComponent extends SearchComponent
   public void prepare(ResponseBuilder rb) throws IOException
   {
     if(rb.isDebugTrack() && rb.isDistrib) {
+      rb.setNeedDocList(true);
       doDebugTrack(rb);
     }
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fecdec6c/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java b/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
index 235e956..e500c55 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
@@ -70,6 +70,7 @@ public class HighlightComponent extends SearchComponent implements PluginInfoIni
     SolrParams params = rb.req.getParams();
     rb.doHighlights = highlighter.isHighlightingEnabled(params);
     if(rb.doHighlights){
+      rb.setNeedDocList(true);
       String hlq = params.get(HighlightParams.Q);
       String hlparser = Objects.firstNonNull(params.get(HighlightParams.QPARSER),
                                               params.get(QueryParsing.DEFTYPE, QParserPlugin.DEFAULT_QTYPE));

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fecdec6c/solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java b/solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java
index bf1861c..ed5549f 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java
@@ -64,6 +64,9 @@ public class MoreLikeThisComponent extends SearchComponent {
   
   @Override
   public void prepare(ResponseBuilder rb) throws IOException {
+    if (rb.req.getParams().getBool(MoreLikeThisParams.MLT, false)) {
+      rb.setNeedDocList(true);
+    }
     
   }
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fecdec6c/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
index 75238ab..9cb7b1d 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
@@ -497,7 +497,7 @@ public class QueryComponent extends SearchComponent
           }
         }
 
-        if (rb.doHighlights || rb.isDebug() || params.getBool(MoreLikeThisParams.MLT, false)) {
+        if( rb.isNeedDocList() || rb.isDebug() ){
           // we need a single list of the returned docs
           cmd.setFlags(SolrIndexSearcher.GET_DOCLIST);
         }