You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/10/15 12:25:42 UTC

svn commit: r1708778 [8/8] - in /lucene/dev/branches/lucene6825: ./ lucene/ lucene/analysis/ lucene/analysis/common/ lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/ lucene/analysis/common/src/test/org/apache/lucene/analysis/core/ l...

Modified: lucene/dev/branches/lucene6825/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java (original)
+++ lucene/dev/branches/lucene6825/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java Thu Oct 15 10:25:39 2015
@@ -286,12 +286,25 @@ public class CloudSolrStream extends Tup
 
       ZkStateReader zkStateReader = cloudSolrClient.getZkStateReader();
       ClusterState clusterState = zkStateReader.getClusterState();
+
       //System.out.println("Connected to zk an got cluster state.");
 
       Collection<Slice> slices = clusterState.getActiveSlices(this.collection);
 
       if(slices == null) {
-        throw new Exception("Collection not found:"+this.collection);
+
+        String colLower = this.collection.toLowerCase(Locale.getDefault());
+        //Try case insensitive match
+        for(String col : clusterState.getCollections()) {
+          if(col.toLowerCase(Locale.getDefault()).equals(colLower)) {
+            slices = clusterState.getActiveSlices(col);
+            break;
+          }
+        }
+
+        if(slices == null) {
+          throw new Exception("Collection not found:" + this.collection);
+        }
       }
 
       params.put("distrib","false"); // We are the aggregator.

Modified: lucene/dev/branches/lucene6825/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java (original)
+++ lucene/dev/branches/lucene6825/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java Thu Oct 15 10:25:39 2015
@@ -20,6 +20,7 @@ package org.apache.solr.client.solrj.res
 import junit.framework.Assert;
 
 import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.TestRuleLimitSysouts.Limit;
 import org.apache.solr.client.solrj.impl.XMLResponseParser;
 import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.common.util.DateUtil;
@@ -38,6 +39,7 @@ import java.util.List;
  * 
  * @since solr 1.3
  */
+@Limit(bytes=20000)
 public class QueryResponseTest extends LuceneTestCase {
   @Test
   public void testDateFacets() throws Exception   {

Modified: lucene/dev/branches/lucene6825/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/branches/lucene6825/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java Thu Oct 15 10:25:39 2015
@@ -98,6 +98,7 @@ import org.apache.solr.search.SolrIndexS
 import org.apache.solr.servlet.DirectSolrConnection;
 import org.apache.solr.util.AbstractSolrTestCase;
 import org.apache.solr.util.DateFormatUtil;
+import org.apache.solr.util.RefCounted;
 import org.apache.solr.util.RevertDefaultThreadHandlerRule;
 import org.apache.solr.util.SSLTestConfig;
 import org.apache.solr.util.TestHarness;
@@ -2117,4 +2118,20 @@ public abstract class SolrTestCaseJ4 ext
     return result;
   }
 
+  protected void waitForWarming() throws InterruptedException {
+    RefCounted<SolrIndexSearcher> registeredSearcher = h.getCore().getRegisteredSearcher();
+    RefCounted<SolrIndexSearcher> newestSearcher = h.getCore().getNewestSearcher(false);
+    ;
+    while (registeredSearcher == null || registeredSearcher.get() != newestSearcher.get()) {
+      if (registeredSearcher != null) {
+        registeredSearcher.decref();
+      }
+      newestSearcher.decref();
+      Thread.sleep(50);
+      registeredSearcher = h.getCore().getRegisteredSearcher();
+      newestSearcher = h.getCore().getNewestSearcher(false);
+    }
+    registeredSearcher.decref();
+    newestSearcher.decref();
+  }
 }

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/css/angular/menu.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/css/angular/menu.css?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/css/angular/menu.css (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/css/angular/menu.css Thu Oct 15 10:25:39 2015
@@ -255,6 +255,7 @@ limitations under the License.
 
 #menu #threads.global p a { background-image: url( ../../img/ico/ui-accordion.png ); }
 
+#menu #collections.global p a { background-image: url( ../../img/ico/documents-stack.png ); }
 #menu #cores.global p a { background-image: url( ../../img/ico/databases.png ); }
 
 #menu #cloud.global p a { background-image: url( ../../img/ico/network-cloud.png ); }

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/index.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/index.html?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/index.html (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/index.html Thu Oct 15 10:25:39 2015
@@ -27,6 +27,7 @@ limitations under the License.
   <link rel="stylesheet" type="text/css" href="css/angular/analysis.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/cloud.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/cores.css?_=${version}">
+  <link rel="stylesheet" type="text/css" href="css/angular/collections.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/dashboard.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/dataimport.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/files.css?_=${version}">
@@ -60,6 +61,7 @@ limitations under the License.
   <script src="js/angular/controllers/index.js"></script>
   <script src="js/angular/controllers/logging.js"></script>
   <script src="js/angular/controllers/cloud.js"></script>
+  <script src="js/angular/controllers/collections.js"></script>
   <script src="js/angular/controllers/cores.js"></script>
   <script src="js/angular/controllers/threads.js"></script>
   <script src="js/angular/controllers/java-properties.js"></script>
@@ -151,7 +153,8 @@ limitations under the License.
               </ul>
             </li>
 
-            <li id="cores" class="global" ng-class="{active:page=='cores'}"><p><a href="#/~cores">Core Admin</a></p></li>
+            <li ng-show="isCloudEnabled" id="collections" class="global" ng-class="{active:page=='collections'}"><p><a href="#/~collections">Collections</a></p></li>
+            <li ng-hide="isCloudEnabled" id="cores" class="global" ng-class="{active:page=='cores'}"><p><a href="#/~cores">Core Admin</a></p></li>
 
             <li id="java-properties" class="global" ng-class="{active:page=='java-props'}"><p><a href="#/~java-properties">Java Properties</a></li>
 
@@ -174,7 +177,7 @@ limitations under the License.
           </div>
           <div id="collection-menu" class="sub-menu" ng-show="currentCollection">
             <ul>
-              <li class="overview" ng-class="{active:page=='collection-overview'}"><a href="#/{{currentCore.name}}/collection-overview"><span>Overview</span></a></li>
+              <li class="overview" ng-class="{active:page=='collection-overview'}"><a href="#/{{currentCollection.name}}/collection-overview"><span>Overview</span></a></li>
               <li class="analysis" ng-class="{active:page=='analysis'}"><a href="#/{{currentCollection.name}}/analysis"><span>Analysis</span></a></li>
               <li class="dataimport" ng-class="{active:page=='dataimport'}"><a href="#/{{currentCollection.name}}/dataimport"><span>Dataimport</span></a></li>
               <li class="documents" ng-class="{active:page=='documents'}"><a href="#/{{currentCollection.name}}/documents"><span>Documents</span></a></li>

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/app.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/app.js?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/app.js (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/app.js Thu Oct 15 10:25:39 2015
@@ -51,6 +51,14 @@ solrAdminApp.config([
         templateUrl: 'partials/cores.html',
         controller: 'CoreAdminController'
       }).
+      when('/~collections', {
+        templateUrl: 'partials/collections.html',
+        controller: 'CollectionsController'
+      }).
+      when('/~collections/:collection', {
+        templateUrl: 'partials/collections.html',
+        controller: 'CollectionsController'
+      }).
       when('/~threads', {
         templateUrl: 'partials/threads.html',
         controller: 'ThreadsController'

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/core-overview.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/core-overview.js?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/core-overview.js (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/core-overview.js Thu Oct 15 10:25:39 2015
@@ -103,14 +103,13 @@ function($scope, $rootScope, $routeParam
 
   $scope.refreshPing = function() {
     Ping.status({core: $routeParams.core}, function(data) {
-      $scope.healthcheckStatus = data.status == "enabled";
-    }).$promise.catch(function(error) {
-      if (error.status == 404) {
+      if (data.error) {
         $scope.healthcheckStatus = false;
+        if (data.error.code == 503) {
+          $scope.healthcheckMessage = 'Ping request handler is not configured with a healthcheck file.';
+        }
       } else {
-        $scope.healthcheckStatus = false;
-        delete $rootScope.exception;
-        $scope.healthcheckMessage = 'Ping request handler is not configured with a healthcheck file.';
+        $scope.healthcheckStatus = data.status == "enabled";
       }
     });
   };

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/cores.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/cores.js?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/cores.js (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/cores.js Thu Oct 15 10:25:39 2015
@@ -23,20 +23,28 @@ solrAdminApp.controller('CoreAdminContro
       $scope.refresh = function() {
         Cores.get(function(data) {
           var coreCount = 0;
-          for (_obj in data.status) coreCount++;
+          var cores = data.status;
+          for (_obj in cores) coreCount++;
           $scope.hasCores = coreCount >0;
           if (!$scope.selectedCore && coreCount==0) {
             $scope.showAddCore();
             return;
           } else if (!$scope.selectedCore) {
-            for (firstCore in data.status) break;
+            for (firstCore in cores) break;
             $scope.selectedCore = firstCore;
             $location.path("/~cores/" + $scope.selectedCore).replace();
           }
-          $scope.core = data.status[$scope.selectedCore];
+          $scope.core = cores[$scope.selectedCore];
           $scope.corelist = [];
-          for (var core in data.status) {
-             $scope.corelist.push(data.status[core]);
+          $scope.swapCorelist = [];
+          for (var core in cores) {
+             $scope.corelist.push(cores[core]);
+            if (cores[core] != $scope.core) {
+              $scope.swapCorelist.push(cores[core]);
+            }
+          }
+          if ($scope.swapCorelist.length>0) {
+            $scope.swapOther = $scope.swapCorelist[0].name;
           }
         });
       };

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/schema-browser.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/schema-browser.js?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/schema-browser.js (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/controllers/schema-browser.js Thu Oct 15 10:25:39 2015
@@ -33,6 +33,7 @@ solrAdminApp.controller('SchemaBrowserCo
                     var search = $location.search();
                     leftbar = {};
                     $scope.isField = $scope.isDynamicField = $scope.isType = false;
+                    $scope.showing = true;
                     if (search.field) {
                         $scope.selectedType = "Field";
                         $scope.is.field = true;
@@ -59,6 +60,8 @@ solrAdminApp.controller('SchemaBrowserCo
                         leftbar.fields = filterFields("fields", data, $scope.name);
                         leftbar.dynamicFields = filterFields("dynamic_fields", data, $scope.name);
                         $scope.fieldOrType = "type=" + $scope.name;
+                    } else {
+                        $scope.showing = false;
                     }
                     $scope.leftbar = leftbar;
                     $scope.core = $routeParams.core;

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/services.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/services.js?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/services.js (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/js/angular/services.js Thu Oct 15 10:25:39 2015
@@ -32,6 +32,8 @@ solrAdminServices.factory('System',
     "rename": {params:{action: "RENAME"}},
     "createAlias": {params:{action: "CREATEALIAS"}},
     "deleteAlias": {params:{action: "DELETEALIAS"}},
+    "deleteReplica": {params:{action: "DELETEREPLICA"}},
+    "addReplica": {params:{action: "ADDREPLICA"}},
     "reload": {method: "GET", params:{action:"RELOAD", core: "@core"}},
     "optimize": {params:{}}
     });
@@ -134,7 +136,7 @@ solrAdminServices.factory('System',
 .factory('Luke',
   ['$resource', function($resource) {
     return $resource('/solr/:core/admin/luke', {core: '@core', wt:'json', _:Date.now()}, {
-      "index":  {params: {numTerms: 0}},
+      "index":  {params: {numTerms: 0, show: 'index'}},
       "schema": {params: {show:'schema'}},
       "field": {},
       "fields": {params: {show:'schema'}, interceptor: {
@@ -176,8 +178,8 @@ solrAdminServices.factory('System',
   ['$resource', function($resource) {
     return $resource('/solr/:core/admin/ping', {wt:'json', core: '@core', ts:Date.now(), _:Date.now()}, {
      "ping": {},
-     "status": {params:{action:"status"}}
-    });
+     "status": {params:{action:"status"}, headers: {doNotIntercept: "true"}
+    }});
   }])
 .factory('Mbeans',
   ['$resource', function($resource) {

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/partials/collection_overview.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/partials/collection_overview.html?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/partials/collection_overview.html (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/partials/collection_overview.html Thu Oct 15 10:25:39 2015
@@ -36,7 +36,7 @@ limitations under the License.
             <dd class="value">{{selectedCollection.replicationFactor}}</dd>
 
           <dt>Auto-add replicas:</dt>
-            <dd class="ico value" ng-class="selectedCollection.autoAddReplicas ? 'ico-1' : 'ico-0'"><span>yes</span></dd>
+            <dd class="ico value" ng-class="selectedCollection.autoAddReplicas=='true' ? 'ico-1' : 'ico-0'"><span>yes</span></dd>
 
           <dt>Router name:</dt>
             <dd class="value">{{selectedCollection.router.name}}</dd>

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/partials/cores.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/partials/cores.html?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/partials/cores.html (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/partials/cores.html Thu Oct 15 10:25:39 2015
@@ -109,7 +109,7 @@ limitations under the License.
           <input type="text" id="swap_core" name="core" ng-model="selectedCore" readonly="readonly"></p>
 
           <p class="clearfix"><label for="swap_other">and:</label>
-          <select name="other" ng-model="swapOther" ng-options="core.name as core.name for core in corelist" class="other">
+          <select id="swap_other" ng-model="swapOther" ng-options="core.name as core.name for core in swapCorelist" class="other">
           </select></p>
 
           <p class="clearfix note error" ng-show="swapMessage">

Modified: lucene/dev/branches/lucene6825/solr/webapp/web/partials/schema-browser.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6825/solr/webapp/web/partials/schema-browser.html?rev=1708778&r1=1708777&r2=1708778&view=diff
==============================================================================
--- lucene/dev/branches/lucene6825/solr/webapp/web/partials/schema-browser.html (original)
+++ lucene/dev/branches/lucene6825/solr/webapp/web/partials/schema-browser.html Thu Oct 15 10:25:39 2015
@@ -22,7 +22,7 @@ limitations under the License.
 
       <div id="field">
 
-        <div class="field-options">
+        <div class="field-options" ng-show="showing">
 
           <div class="block head">
             <h2>
@@ -61,7 +61,6 @@ limitations under the License.
             <thead>
 
               <tr>
-
                 <td>Flags:</td>
                 <th ng-repeat="key in display.columns">{{key.name}}</th>