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>