You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2015/01/20 19:40:52 UTC
svn commit: r1653332 [1/3] - in /lucene/dev/branches/branch_5x: ./ solr/
solr/contrib/ solr/contrib/clustering/src/test-files/clustering/solr/
solr/contrib/clustering/src/test-files/clustering/solr/collection1/
solr/contrib/dataimporthandler/src/test-f...
Author: romseygeek
Date: Tue Jan 20 18:40:51 2015
New Revision: 1653332
URL: http://svn.apache.org/r1653332
Log:
SOLR-6840: Remove support for old-style solr.xml
Added:
lucene/dev/branches/branch_5x/solr/contrib/clustering/src/test-files/clustering/solr/collection1/core.properties
- copied unchanged from r1653212, lucene/dev/trunk/solr/contrib/clustering/src/test-files/clustering/solr/collection1/core.properties
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/configsets/bad-mergepolicy/
- copied from r1652995, lucene/dev/trunk/solr/core/src/test-files/solr/configsets/bad-mergepolicy/
lucene/dev/branches/branch_5x/solr/example/example-DIH/solr/db/core.properties
- copied unchanged from r1652995, lucene/dev/trunk/solr/example/example-DIH/solr/db/core.properties
lucene/dev/branches/branch_5x/solr/example/example-DIH/solr/mail/core.properties
- copied unchanged from r1652995, lucene/dev/trunk/solr/example/example-DIH/solr/mail/core.properties
lucene/dev/branches/branch_5x/solr/example/example-DIH/solr/rss/core.properties
- copied unchanged from r1652995, lucene/dev/trunk/solr/example/example-DIH/solr/rss/core.properties
lucene/dev/branches/branch_5x/solr/example/example-DIH/solr/solr/core.properties
- copied unchanged from r1652995, lucene/dev/trunk/solr/example/example-DIH/solr/solr/core.properties
lucene/dev/branches/branch_5x/solr/example/example-DIH/solr/tika/core.properties
- copied unchanged from r1652995, lucene/dev/trunk/solr/example/example-DIH/solr/tika/core.properties
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/configsets/shared/
- copied from r1652995, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/configsets/shared/
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/multicore/core0/core.properties
- copied unchanged from r1653073, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/multicore/core0/core.properties
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/multicore/core1/core.properties
- copied unchanged from r1653073, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/multicore/core1/core.properties
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/shared/collection1/
- copied from r1652995, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/collection1/
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/shared/core0/
- copied from r1652995, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/core0/
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/shared/core1/
- copied from r1652995, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/core1/
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/util/ReadOnlyCoresLocator.java
- copied unchanged from r1652995, lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/util/ReadOnlyCoresLocator.java
Removed:
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolrXmlOld.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/SolrXMLCoresLocator.java
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-no-core-old-style.xml
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-shardhandler-old.xml
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-stress-old.xml
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/CoreContainerCoreInitFailuresTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrXmlPersistence.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrXmlPersistor.java
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/shared/conf/
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/solr/ (props changed)
lucene/dev/branches/branch_5x/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_5x/solr/contrib/ (props changed)
lucene/dev/branches/branch_5x/solr/contrib/clustering/src/test-files/clustering/solr/solr.xml
lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test-files/dih/solr/solr.xml
lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test-files/solr/solr.xml
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java
lucene/dev/branches/branch_5x/solr/core/ (props changed)
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolr.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolrXml.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/CoreContainer.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-slave.xml
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-no-core.xml
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr.xml
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/LeaderElectionIntegrationTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/ZkCLITest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/OpenCloseCoreStressTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestConfigSets.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestCoreDiscovery.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestImplicitCoreProperties.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestShardHandlerFactory.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrXml.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminHandlerTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/component/DistributedDebugComponentTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/rest/SolrRestletTestBase.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/rest/schema/TestManagedSchemaDynamicFieldResource.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/rest/schema/TestManagedSchemaFieldResource.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/schema/TestBinaryField.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/update/SolrCmdDistributorTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/util/MockConfigSolr.java
lucene/dev/branches/branch_5x/solr/example/ (props changed)
lucene/dev/branches/branch_5x/solr/example/example-DIH/solr/solr.xml
lucene/dev/branches/branch_5x/solr/solrj/ (props changed)
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/multicore/solr.xml
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/shared/solr.xml
lucene/dev/branches/branch_5x/solr/solrj/src/test-files/solrj/solr/solr.xml
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java
lucene/dev/branches/branch_5x/solr/test-framework/ (props changed)
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractZkTestCase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/util/RestTestBase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/util/TestHarness.java
Modified: lucene/dev/branches/branch_5x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/CHANGES.txt?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/solr/CHANGES.txt Tue Jan 20 18:40:51 2015
@@ -142,6 +142,10 @@ Upgrading from Solr 4.x
* Due to changes in the underlying commons-codec package, users of the BeiderMorseFilterFactory
will need to rebuild their indexes after upgrading. See LUCENE-6058 for more details.
+* The 'old-style' solr.xml format is no longer supported, and cores must be
+ defined using core.properties files. See
+ https://cwiki.apache.org/confluence/display/solr/Format+of+solr.xml
+
Detailed Change List
----------------------
@@ -688,6 +692,8 @@ Other Changes
* SOLR-6981: Add a delete action to the bin/solr script to allow deleting of cores /
collections (with delete collection config directory from ZK) (Timothy Potter)
+* SOLR-6840: Remove support for old-style solr.xml (Erick Erickson, Alan Woodward)
+
================== 4.10.3 ==================
Bug Fixes
Modified: lucene/dev/branches/branch_5x/solr/contrib/clustering/src/test-files/clustering/solr/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/clustering/src/test-files/clustering/solr/solr.xml?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/clustering/src/test-files/clustering/solr/solr.xml (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/clustering/src/test-files/clustering/solr/solr.xml Tue Jan 20 18:40:51 2015
@@ -20,14 +20,10 @@
solr.xml mimicking the old default solr.xml
-->
-<solr persistent="false">
- <cores adminPath="/admin/cores" defaultCoreName="collection1"
- host="${host:}" hostPort="${hostPort:}" hostContext="${hostContext:}"
- zkClientTimeout="${zkClientTimeout:15000}">
- <core name="collection1" shard="${shard:}" collection="${collection:collection1}" instanceDir="collection1"/>
-
+<solr>
+
<shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
<str name="urlScheme">${urlScheme:}</str>
</shardHandlerFactory>
- </cores>
+
</solr>
Modified: lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test-files/dih/solr/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test-files/dih/solr/solr.xml?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test-files/dih/solr/solr.xml (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test-files/dih/solr/solr.xml Tue Jan 20 18:40:51 2015
@@ -20,13 +20,8 @@
solr.xml mimicking the old default solr.xml
-->
-<solr persistent="false">
- <cores adminPath="/admin/cores" defaultCoreName="collection1"
- host="${host:}" hostPort="${hostPort:}" hostContext="${hostContext:}"
- zkClientTimeout="${zkClientTimeout:15000}">
- <core name="collection1" shard="${shard:}" collection="${collection:collection1}" instanceDir="collection1"/>
+<solr>
<shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
<str name="urlScheme">${urlScheme:}</str>
</shardHandlerFactory>
- </cores>
</solr>
\ No newline at end of file
Modified: lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java Tue Jan 20 18:40:51 2015
@@ -16,9 +16,6 @@
*/
package org.apache.solr.handler.dataimport;
-import java.io.File;
-import java.util.List;
-
import org.apache.commons.io.FileUtils;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
@@ -32,6 +29,10 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import java.io.File;
+import java.nio.file.Files;
+import java.util.List;
+
/**
* Test for ContentStreamDataSource
*
@@ -67,7 +68,7 @@ public class TestContentStreamDataSource
params.set("command", "full-import");
params.set("clean", "false");
req.setParams(params);
- HttpSolrClient solrClient = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr"));
+ HttpSolrClient solrClient = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr/collection1"));
try {
solrClient.request(req);
ModifiableSolrParams qparams = new ModifiableSolrParams();
@@ -90,7 +91,7 @@ public class TestContentStreamDataSource
"clean", "false", UpdateParams.COMMIT, "false",
UpdateParams.COMMIT_WITHIN, "1000");
req.setParams(params);
- HttpSolrClient solrServer = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr"));
+ HttpSolrClient solrServer = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr/collection1"));
solrServer.request(req);
Thread.sleep(100);
ModifiableSolrParams queryAll = params("q", "*");
@@ -168,6 +169,8 @@ public class TestContentStreamDataSource
FileUtils.copyFile(getFile(getSchemaFile()), f);
f = new File(confDir, "data-config.xml");
FileUtils.copyFile(getFile(CONF_DIR + "dataconfig-contentstream.xml"), f);
+
+ Files.createFile(homeDir.toPath().resolve("collection1/core.properties"));
}
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java Tue Jan 20 18:40:51 2015
@@ -17,14 +17,6 @@ package org.apache.solr.handler.dataimpo
* limitations under the License.
*/
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
import org.apache.commons.io.FileUtils;
import org.apache.lucene.util.IOUtils;
import org.apache.solr.client.solrj.SolrServerException;
@@ -38,6 +30,15 @@ import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
/**
* End-to-end test of SolrEntityProcessor. "Real" test using embedded Solr
*/
@@ -94,7 +95,7 @@ public class TestSolrEntityProcessorEndT
}
private String getSourceUrl() {
- return buildUrl(jetty.getLocalPort(), "/solr");
+ return buildUrl(jetty.getLocalPort(), "/solr/collection1");
}
//TODO: fix this test to close its directories
@@ -332,6 +333,8 @@ public class TestSolrEntityProcessorEndT
FileUtils.copyFile(getFile(getSchemaFile()), f);
f = new File(confDir, "data-config.xml");
FileUtils.copyFile(getFile(SOURCE_CONF_DIR + "dataconfig-contentstream.xml"), f);
+
+ Files.createFile(confDir.toPath().resolve("../core.properties"));
}
public void tearDown() throws Exception {
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test-files/solr/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test-files/solr/solr.xml?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test-files/solr/solr.xml (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test-files/solr/solr.xml Tue Jan 20 18:40:51 2015
@@ -16,18 +16,25 @@
limitations under the License.
-->
-<!--
- All (relative) paths are relative to the installation path
-
- persistent: Save changes made via the API to this file
- sharedLib: path to a lib directory that will be shared across all cores
--->
-<solr persistent="${solr.xml.persist:false}">
+<solr>
+
+ <solrcloud>
+ <int name="hostPort">${hostPort:8983}</int>
+ <str name="hostContext">${hostContext:solr}</str>
+ <int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int>
+ <str name="host">127.0.0.1</str>
+ </solrcloud>
+
+ <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
+ <str name="urlScheme">${urlScheme:}</str>
+ <int name="socketTimeout">${socketTimeout:120000}</int>
+ <int name="connTimeout">${connTimeout:15000}</int>
+ </shardHandlerFactory>
<!--
adminPath: RequestHandler path to manage cores.
If 'null' (or absent), cores will not be manageable via request handler
- -->
+
<cores adminPath="/admin/cores" defaultCoreName="collection1" host="127.0.0.1" hostPort="${hostPort:8983}"
hostContext="${hostContext:solr}" zkClientTimeout="${solr.zkclienttimeout:30000}" numShards="${numShards:3}" shareSchema="${shareSchema:false}"
genericCoreNodeNames="${genericCoreNodeNames:true}" leaderVoteWait="0"
@@ -40,5 +47,6 @@
<int name="connTimeout">${connTimeout:15000}</int>
</shardHandlerFactory>
</cores>
+ -->
</solr>
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java Tue Jan 20 18:40:51 2015
@@ -16,25 +16,14 @@
*/
package org.apache.solr.morphlines.solr;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.TimeZone;
-import java.util.concurrent.atomic.AtomicInteger;
-
+import com.codahale.metrics.MetricRegistry;
+import com.google.common.base.Joiner;
+import com.google.common.io.Files;
+import com.typesafe.config.Config;
import org.apache.commons.io.FileUtils;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
@@ -56,10 +45,20 @@ import org.kitesdk.morphline.stdlib.Pipe
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.codahale.metrics.MetricRegistry;
-import com.google.common.base.Joiner;
-import com.google.common.io.Files;
-import com.typesafe.config.Config;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.TimeZone;
+import java.util.concurrent.atomic.AtomicInteger;
public class AbstractSolrMorphlineTestBase extends SolrTestCaseJ4 {
private static Locale savedLocale;
@@ -123,7 +122,7 @@ public class AbstractSolrMorphlineTestBa
((HttpSolrClient) solrClient).setParser(new XMLResponseParser());
} else {
if (TEST_WITH_EMBEDDED_SOLR_SERVER) {
- solrClient = new EmbeddedTestSolrServer(h.getCoreContainer(), "");
+ solrClient = new EmbeddedTestSolrServer(h.getCoreContainer(), DEFAULT_TEST_CORENAME);
} else {
throw new RuntimeException("Not yet implemented");
//solrServer = new TestSolrServer(getSolrClient());
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java Tue Jan 20 18:40:51 2015
@@ -17,11 +17,9 @@
package org.apache.solr.morphlines.solr;
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Locale;
-
+import com.codahale.metrics.MetricRegistry;
+import com.google.common.collect.ListMultimap;
+import com.typesafe.config.Config;
import org.apache.commons.io.FileUtils;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
@@ -42,9 +40,10 @@ import org.kitesdk.morphline.base.FaultT
import org.kitesdk.morphline.base.Notifications;
import org.kitesdk.morphline.stdlib.PipeBuilder;
-import com.codahale.metrics.MetricRegistry;
-import com.google.common.collect.ListMultimap;
-import com.typesafe.config.Config;
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Locale;
public abstract class AbstractSolrMorphlineZkTestBase extends AbstractFullDistribZkTestBase {
private static File solrHomeDirectory;
@@ -155,7 +154,8 @@ public abstract class AbstractSolrMorphl
public JettySolrRunner createJetty(File solrHome, String dataDir,
String shardList, String solrConfigOverride, String schemaOverride)
throws Exception {
-
+
+ writeCoreProperties(solrHome.toPath(), DEFAULT_TEST_CORENAME);
JettySolrRunner jetty = new JettySolrRunner(solrHome.getAbsolutePath(),
context, 0, solrConfigOverride, schemaOverride, true, null, sslConfig);
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java Tue Jan 20 18:40:51 2015
@@ -16,17 +16,15 @@
*/
package org.apache.solr.morphlines.solr;
-import java.io.File;
-import java.util.Arrays;
-
-import org.apache.lucene.util.Constants;
import org.junit.BeforeClass;
import org.junit.Test;
-
import org.kitesdk.morphline.api.Record;
import org.kitesdk.morphline.base.Fields;
import org.kitesdk.morphline.base.Notifications;
+import java.io.File;
+import java.util.Arrays;
+
public class SolrMorphlineTest extends AbstractSolrMorphlineTestBase {
@Test
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java Tue Jan 20 18:40:51 2015
@@ -16,11 +16,13 @@
*/
package org.apache.solr.morphlines.solr;
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.apache.lucene.util.Constants;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
@@ -35,13 +37,9 @@ import org.kitesdk.morphline.api.Record;
import org.kitesdk.morphline.base.Fields;
import org.kitesdk.morphline.base.Notifications;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
@ThreadLeakAction({Action.WARN})
@ThreadLeakLingering(linger = 0)
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java Tue Jan 20 18:40:51 2015
@@ -16,19 +16,21 @@
*/
package org.apache.solr.morphlines.solr;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import com.google.common.base.Joiner;
+import com.google.common.base.Preconditions;
+import com.google.common.io.Files;
import org.apache.avro.Schema.Field;
import org.apache.avro.file.DataFileReader;
import org.apache.avro.file.FileReader;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericDatumReader;
-import org.apache.lucene.util.Constants;
import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
@@ -38,16 +40,12 @@ import org.kitesdk.morphline.api.Record;
import org.kitesdk.morphline.base.Fields;
import org.kitesdk.morphline.base.Notifications;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
-import com.google.common.base.Joiner;
-import com.google.common.base.Preconditions;
-import com.google.common.io.Files;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
@ThreadLeakAction({Action.WARN})
@ThreadLeakLingering(linger = 0)
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java Tue Jan 20 18:40:51 2015
@@ -16,10 +16,13 @@
*/
package org.apache.solr.morphlines.solr;
-import java.io.File;
-import java.util.Iterator;
-
-import org.apache.lucene.util.Constants;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
@@ -29,13 +32,8 @@ import org.kitesdk.morphline.api.Record;
import org.kitesdk.morphline.base.Fields;
import org.kitesdk.morphline.base.Notifications;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import java.io.File;
+import java.util.Iterator;
@ThreadLeakAction({Action.WARN})
@ThreadLeakLingering(linger = 0)
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java Tue Jan 20 18:40:51 2015
@@ -129,10 +129,8 @@ public class EmbeddedSolrServer extends
}
}
// Perhaps the path is to manage the cores
- if( handler == null &&
- coreContainer != null &&
- path.equals( coreContainer.getAdminPath() ) ) {
- handler = coreContainer.getMultiCoreHandler();
+ if (handler == null) {
+ handler = coreContainer.getRequestHandler(path);
}
}
if( handler == null ) {
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java Tue Jan 20 18:40:51 2015
@@ -62,6 +62,9 @@ import java.util.concurrent.atomic.Atomi
* @since solr 1.3
*/
public class JettySolrRunner {
+
+ private static final AtomicLong JETTY_ID_COUNTER = new AtomicLong();
+
Server server;
FilterHolder dispatchFilter;
@@ -71,6 +74,7 @@ public class JettySolrRunner {
private String solrConfigFilename;
private String schemaFilename;
+ private final String coreRootDirectory;
private boolean waitOnSolr = false;
@@ -89,6 +93,8 @@ public class JettySolrRunner {
private String coreNodeName;
+ private final String name;
+
/** Maps servlet holders (i.e. factories: class + init params) to path specs */
private SortedMap<ServletHolder,String> extraServlets = new TreeMap<>();
private SortedMap<Class,String> extraRequestFilters;
@@ -147,12 +153,16 @@ public class JettySolrRunner {
public JettySolrRunner(String solrHome, String context, int port) {
this.init(solrHome, context, port, true);
+ this.name = "jetty-" + JETTY_ID_COUNTER.incrementAndGet();
+ this.coreRootDirectory = System.getProperty("coreRootDirectory", null);
}
public JettySolrRunner(String solrHome, String context, int port, String solrConfigFilename, String schemaFileName) {
this.init(solrHome, context, port, true);
this.solrConfigFilename = solrConfigFilename;
this.schemaFilename = schemaFileName;
+ this.name = "jetty-" + JETTY_ID_COUNTER.incrementAndGet();
+ this.coreRootDirectory = System.getProperty("coreRootDirectory", null);
}
public JettySolrRunner(String solrHome, String context, int port,
@@ -160,6 +170,8 @@ public class JettySolrRunner {
this.init(solrHome, context, port, stopAtShutdown);
this.solrConfigFilename = solrConfigFilename;
this.schemaFilename = schemaFileName;
+ this.name = "jetty-" + JETTY_ID_COUNTER.incrementAndGet();
+ this.coreRootDirectory = System.getProperty("coreRootDirectory", null);
}
/**
@@ -197,6 +209,9 @@ public class JettySolrRunner {
this.schemaFilename = schemaFileName;
this.sslConfig = sslConfig;
+ this.name = "jetty-" + JETTY_ID_COUNTER.incrementAndGet();
+ this.coreRootDirectory = System.getProperty("coreRootDirectory", null);
+
this.init(solrHome, context, port, stopAtShutdown);
}
@@ -210,6 +225,7 @@ public class JettySolrRunner {
if (!stopAtShutdown) {
server.setGracefulShutdown(0);
}
+
System.setProperty("solr.solr.home", solrHome);
if (System.getProperty("jetty.testMode") != null) {
final String connectorName = System.getProperty("tests.jettyConnector", "SelectChannel");
@@ -299,6 +315,8 @@ public class JettySolrRunner {
solrConfigFilename);
if (schemaFilename != null) System.setProperty("schema",
schemaFilename);
+ if (coreRootDirectory != null)
+ System.setProperty("coreRootDirectory", coreRootDirectory);
// SolrDispatchFilter filter = new SolrDispatchFilter();
// FilterHolder fh = new FilterHolder(filter);
debugFilter = root.addFilter(DebugFilter.class, "*", EnumSet.of(DispatcherType.REQUEST) );
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java Tue Jan 20 18:40:51 2015
@@ -17,6 +17,7 @@ package org.apache.solr.cloud;
* limitations under the License.
*/
+import com.google.common.base.Strings;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.SolrParams;
@@ -49,10 +50,14 @@ public class CloudDescriptor {
public CloudDescriptor(String coreName, Properties props, CoreDescriptor cd) {
this.cd = cd;
this.shardId = props.getProperty(CoreDescriptor.CORE_SHARD, null);
+ if (Strings.isNullOrEmpty(shardId))
+ this.shardId = null;
// If no collection name is specified, we default to the core name
this.collectionName = props.getProperty(CoreDescriptor.CORE_COLLECTION, coreName);
this.roles = props.getProperty(CoreDescriptor.CORE_ROLES, null);
this.nodeName = props.getProperty(CoreDescriptor.CORE_NODE_NAME);
+ if (Strings.isNullOrEmpty(nodeName))
+ this.nodeName = null;
this.numShards = PropertiesUtil.toInteger(props.getProperty(CloudDescriptor.NUM_SHARDS), null);
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java Tue Jan 20 18:40:51 2015
@@ -616,15 +616,13 @@ public final class ZkController {
ShardHandler shardHandler;
UpdateShardHandler updateShardHandler;
- String adminPath;
shardHandler = cc.getShardHandlerFactory().getShardHandler();
updateShardHandler = cc.getUpdateShardHandler();
- adminPath = cc.getAdminPath();
if (!zkRunOnly) {
overseerElector = new LeaderElector(zkClient);
this.overseer = new Overseer(shardHandler, updateShardHandler,
- adminPath, zkStateReader, this, cc.getConfig());
+ CoreContainer.CORES_HANDLER_PATH, zkStateReader, this, cc.getConfig());
ElectionContext context = new OverseerElectionContext(zkClient,
overseer, getNodeName());
overseerElector.setup(context);
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolr.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolr.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolr.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolr.java Tue Jan 20 18:40:51 2015
@@ -22,25 +22,15 @@ import org.apache.solr.cloud.CloudConfig
import org.apache.solr.cloud.ZkController;
import org.apache.solr.common.SolrException;
import org.apache.solr.logging.LogWatcherConfig;
-import org.apache.solr.util.DOMUtil;
-import org.apache.solr.util.PropertiesUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.Map;
import java.util.Properties;
@@ -74,10 +64,9 @@ public abstract class ConfigSolr {
public static ConfigSolr fromInputStream(SolrResourceLoader loader, InputStream is) {
try {
byte[] buf = IOUtils.toByteArray(is);
- String originalXml = new String(buf, StandardCharsets.UTF_8);
try (ByteArrayInputStream dup = new ByteArrayInputStream(buf)) {
Config config = new Config(loader, null, new InputSource(dup), null, false);
- return fromConfig(config, originalXml);
+ return new ConfigSolrXml(config);
}
} catch (SolrException exc) {
throw exc;
@@ -89,12 +78,6 @@ public abstract class ConfigSolr {
public static ConfigSolr fromSolrHome(SolrResourceLoader loader, String solrHome) {
return fromFile(loader, new File(solrHome, SOLR_XML_FILE));
}
-
- public static ConfigSolr fromConfig(Config config, String originalXml) {
- boolean oldStyle = (config.getNode("solr/cores", false) != null);
- return oldStyle ? new ConfigSolrXmlOld(config, originalXml)
- : new ConfigSolrXml(config);
- }
public abstract CoresLocator getCoresLocator();
@@ -106,32 +89,26 @@ public abstract class ConfigSolr {
* @return core root directory
*/
public String getCoreRootDirectory() {
- SolrResourceLoader loader = config.getResourceLoader();
- String relativeDir = get(CfgProp.SOLR_COREROOTDIRECTORY, null);
+ String relativeDir = getString(CfgProp.SOLR_COREROOTDIRECTORY, null);
if (relativeDir != null)
return loader.resolve(relativeDir);
return loader.getInstanceDir();
}
- public PluginInfo getShardHandlerFactoryPluginInfo() {
- Node node = config.getNode(getShardHandlerFactoryConfigPath(), false);
- return (node == null) ? null : new PluginInfo(node, "shardHandlerFactory", false, true);
- }
-
- protected abstract String getShardHandlerFactoryConfigPath();
+ public abstract PluginInfo getShardHandlerFactoryPluginInfo();
public String getZkHost() {
String sysZkHost = System.getProperty("zkHost");
if (sysZkHost != null)
return sysZkHost;
- return get(CfgProp.SOLR_ZKHOST, null);
+ return getString(CfgProp.SOLR_ZKHOST, null);
}
public int getZkClientTimeout() {
String sysProp = System.getProperty("zkClientTimeout");
if (sysProp != null)
return Integer.parseInt(sysProp);
- return get(CfgProp.SOLR_ZKCLIENTTIMEOUT, DEFAULT_ZK_CLIENT_TIMEOUT);
+ return getInt(CfgProp.SOLR_ZKCLIENTTIMEOUT, DEFAULT_ZK_CLIENT_TIMEOUT);
}
private static final int DEFAULT_ZK_CLIENT_TIMEOUT = 15000;
@@ -150,120 +127,110 @@ public abstract class ConfigSolr {
protected static final String DEFAULT_CORE_ADMIN_PATH = "/admin/cores";
public String getSolrHostPort() {
- return get(CfgProp.SOLR_HOSTPORT, null);
+ return getString(CfgProp.SOLR_HOSTPORT, null);
}
public String getZkHostContext() {
- return get(CfgProp.SOLR_HOSTCONTEXT, null);
+ return getString(CfgProp.SOLR_HOSTCONTEXT, null);
}
public String getHost() {
- return get(CfgProp.SOLR_HOST, null);
+ return getString(CfgProp.SOLR_HOST, null);
}
public int getLeaderVoteWait() {
- return get(CfgProp.SOLR_LEADERVOTEWAIT, DEFAULT_LEADER_VOTE_WAIT);
+ return getInt(CfgProp.SOLR_LEADERVOTEWAIT, DEFAULT_LEADER_VOTE_WAIT);
}
public int getLeaderConflictResolveWait() {
- return get(CfgProp.SOLR_LEADERCONFLICTRESOLVEWAIT, DEFAULT_LEADER_CONFLICT_RESOLVE_WAIT);
+ return getInt(CfgProp.SOLR_LEADERCONFLICTRESOLVEWAIT, DEFAULT_LEADER_CONFLICT_RESOLVE_WAIT);
}
public int getAutoReplicaFailoverWaitAfterExpiration() {
- return get(CfgProp.SOLR_AUTOREPLICAFAILOVERWAITAFTEREXPIRATION, DEFAULT_AUTO_REPLICA_FAILOVER_WAIT_AFTER_EXPIRATION);
+ return getInt(CfgProp.SOLR_AUTOREPLICAFAILOVERWAITAFTEREXPIRATION, DEFAULT_AUTO_REPLICA_FAILOVER_WAIT_AFTER_EXPIRATION);
}
public int getAutoReplicaFailoverWorkLoopDelay() {
- return get(CfgProp.SOLR_AUTOREPLICAFAILOVERWORKLOOPDELAY, DEFAULT_AUTO_REPLICA_FAILOVER_WORKLOOP_DELAY);
+ return getInt(CfgProp.SOLR_AUTOREPLICAFAILOVERWORKLOOPDELAY, DEFAULT_AUTO_REPLICA_FAILOVER_WORKLOOP_DELAY);
}
public int getAutoReplicaFailoverBadNodeExpiration() {
- return get(CfgProp.SOLR_AUTOREPLICAFAILOVERBADNODEEXPIRATION, DEFAULT_AUTO_REPLICA_FAILOVER_BAD_NODE_EXPIRATION);
+ return getInt(CfgProp.SOLR_AUTOREPLICAFAILOVERBADNODEEXPIRATION, DEFAULT_AUTO_REPLICA_FAILOVER_BAD_NODE_EXPIRATION);
}
public boolean getGenericCoreNodeNames() {
- return get(CfgProp.SOLR_GENERICCORENODENAMES, false);
+ return getBoolean(CfgProp.SOLR_GENERICCORENODENAMES, false);
}
public int getDistributedConnectionTimeout() {
- return get(CfgProp.SOLR_DISTRIBUPDATECONNTIMEOUT, DEFAULT_DISTRIBUPDATECONNTIMEOUT);
+ return getInt(CfgProp.SOLR_DISTRIBUPDATECONNTIMEOUT, DEFAULT_DISTRIBUPDATECONNTIMEOUT);
}
public int getDistributedSocketTimeout() {
- return get(CfgProp.SOLR_DISTRIBUPDATESOTIMEOUT, DEFAULT_DISTRIBUPDATESOTIMEOUT);
+ return getInt(CfgProp.SOLR_DISTRIBUPDATESOTIMEOUT, DEFAULT_DISTRIBUPDATESOTIMEOUT);
}
public int getMaxUpdateConnections() {
- return get(CfgProp.SOLR_MAXUPDATECONNECTIONS, 10000);
+ return getInt(CfgProp.SOLR_MAXUPDATECONNECTIONS, 10000);
}
public int getMaxUpdateConnectionsPerHost() {
- return get(CfgProp.SOLR_MAXUPDATECONNECTIONSPERHOST, 100);
+ return getInt(CfgProp.SOLR_MAXUPDATECONNECTIONSPERHOST, 100);
}
public int getCoreLoadThreadCount() {
- return get(ConfigSolr.CfgProp.SOLR_CORELOADTHREADS, DEFAULT_CORE_LOAD_THREADS);
+ return getInt(ConfigSolr.CfgProp.SOLR_CORELOADTHREADS, DEFAULT_CORE_LOAD_THREADS);
}
public String getSharedLibDirectory() {
- return get(ConfigSolr.CfgProp.SOLR_SHAREDLIB , null);
- }
-
- public String getDefaultCoreName() {
- return get(CfgProp.SOLR_CORES_DEFAULT_CORE_NAME, null);
- }
-
- public abstract boolean isPersistent();
-
- public String getAdminPath() {
- return get(CfgProp.SOLR_ADMINPATH, DEFAULT_CORE_ADMIN_PATH);
+ return getString(ConfigSolr.CfgProp.SOLR_SHAREDLIB, null);
}
public String getCoreAdminHandlerClass() {
- return get(CfgProp.SOLR_ADMINHANDLER, "org.apache.solr.handler.admin.CoreAdminHandler");
+ return getString(CfgProp.SOLR_ADMINHANDLER, "org.apache.solr.handler.admin.CoreAdminHandler");
}
public String getZkCredentialsProviderClass() {
- return get(CfgProp.SOLR_ZKCREDENTIALSPROVIDER, null);
+ return getString(CfgProp.SOLR_ZKCREDENTIALSPROVIDER, null);
}
public String getZkACLProviderClass() {
- return get(CfgProp.SOLR_ZKACLPROVIDER, null);
+ return getString(CfgProp.SOLR_ZKACLPROVIDER, null);
}
public String getCollectionsHandlerClass() {
- return get(CfgProp.SOLR_COLLECTIONSHANDLER, "org.apache.solr.handler.admin.CollectionsHandler");
+ return getString(CfgProp.SOLR_COLLECTIONSHANDLER, "org.apache.solr.handler.admin.CollectionsHandler");
}
public String getInfoHandlerClass() {
- return get(CfgProp.SOLR_INFOHANDLER, "org.apache.solr.handler.admin.InfoHandler");
+ return getString(CfgProp.SOLR_INFOHANDLER, "org.apache.solr.handler.admin.InfoHandler");
}
public boolean hasSchemaCache() {
- return get(ConfigSolr.CfgProp.SOLR_SHARESCHEMA, false);
+ return getBoolean(ConfigSolr.CfgProp.SOLR_SHARESCHEMA, false);
}
public String getManagementPath() {
- return get(CfgProp.SOLR_MANAGEMENTPATH, null);
+ return getString(CfgProp.SOLR_MANAGEMENTPATH, null);
}
public String getConfigSetBaseDirectory() {
- return get(CfgProp.SOLR_CONFIGSETBASEDIR, "configsets");
+ return getString(CfgProp.SOLR_CONFIGSETBASEDIR, "configsets");
}
public LogWatcherConfig getLogWatcherConfig() {
- String loggingClass = get(CfgProp.SOLR_LOGGING_CLASS, null);
- String loggingWatcherThreshold = get(CfgProp.SOLR_LOGGING_WATCHER_THRESHOLD, null);
+ String loggingClass = getString(CfgProp.SOLR_LOGGING_CLASS, null);
+ String loggingWatcherThreshold = getString(CfgProp.SOLR_LOGGING_WATCHER_THRESHOLD, null);
return new LogWatcherConfig(
- get(CfgProp.SOLR_LOGGING_ENABLED, true),
+ getBoolean(CfgProp.SOLR_LOGGING_ENABLED, true),
loggingClass,
loggingWatcherThreshold,
- get(CfgProp.SOLR_LOGGING_WATCHER_SIZE, 50)
+ getInt(CfgProp.SOLR_LOGGING_WATCHER_SIZE, 50)
);
}
public int getTransientCacheSize() {
- return get(CfgProp.SOLR_TRANSIENTCACHESIZE, Integer.MAX_VALUE);
+ return getInt(CfgProp.SOLR_TRANSIENTCACHESIZE, Integer.MAX_VALUE);
}
public ConfigSetService createCoreConfigService(SolrResourceLoader loader, ZkController zkController) {
@@ -275,7 +242,7 @@ public abstract class ConfigSolr {
}
// Ugly for now, but we'll at least be able to centralize all of the differences between 4x and 5x.
- protected static enum CfgProp {
+ public static enum CfgProp {
SOLR_ADMINHANDLER,
SOLR_COLLECTIONSHANDLER,
SOLR_CORELOADTHREADS,
@@ -309,59 +276,44 @@ public abstract class ConfigSolr {
SOLR_ZKCREDENTIALSPROVIDER,
SOLR_ZKACLPROVIDER,
-
- //TODO: Remove all of these elements for 5.0
- SOLR_PERSISTENT,
- SOLR_CORES_DEFAULT_CORE_NAME,
- SOLR_ADMINPATH
+
}
- protected Config config;
- protected Map<CfgProp, Object> propMap = new HashMap<>();
+ protected final SolrResourceLoader loader;
+ protected final Properties solrProperties;
- public ConfigSolr(Config config) {
- this.config = config;
- config.substituteProperties();
+ public ConfigSolr(SolrResourceLoader loader, Properties solrProperties) {
+ this.loader = loader;
+ this.solrProperties = solrProperties;
}
- // for extension & testing.
- protected ConfigSolr() {
-
+ public ConfigSolr(SolrResourceLoader loader) {
+ this(loader, new Properties());
}
-
- public Config getConfig() {
- return config;
+
+ protected abstract String getProperty(CfgProp key);
+
+ private String getString(CfgProp key, String defaultValue) {
+ String v = getProperty(key);
+ return v == null ? defaultValue : v;
}
- @SuppressWarnings("unchecked")
- public <T> T get(CfgProp key, T defaultValue) {
- if (propMap.containsKey(key) && propMap.get(key) != null) {
- return (T) propMap.get(key);
- }
- return defaultValue;
+ private int getInt(CfgProp key, int defaultValue) {
+ String v = getProperty(key);
+ return v == null ? defaultValue : Integer.parseInt(v);
}
- public Properties getSolrProperties(String path) {
- try {
- return readProperties(((NodeList) config.evaluate(
- path, XPathConstants.NODESET)).item(0));
- } catch (Exception e) {
- SolrException.log(log, null, e);
- }
- return null;
+ private boolean getBoolean(CfgProp key, boolean defaultValue) {
+ String v = getProperty(key);
+ return v == null ? defaultValue : Boolean.parseBoolean(v);
+ }
+ public Properties getSolrProperties() {
+ return solrProperties;
}
-
- protected Properties readProperties(Node node) throws XPathExpressionException {
- XPath xpath = config.getXPath();
- NodeList props = (NodeList) xpath.evaluate("property", node, XPathConstants.NODESET);
- Properties properties = new Properties();
- for (int i = 0; i < props.getLength(); i++) {
- Node prop = props.item(i);
- properties.setProperty(DOMUtil.getAttr(prop, "name"),
- PropertiesUtil.substituteProperty(DOMUtil.getAttr(prop, "value"), null));
- }
- return properties;
+
+ public SolrResourceLoader getSolrResourceLoader() {
+ return loader;
}
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolrXml.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolrXml.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolrXml.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigSolrXml.java Tue Jan 20 18:40:51 2015
@@ -17,24 +17,26 @@ package org.apache.solr.core;
* limitations under the License.
*/
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.util.DOMUtil;
-
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
+import org.apache.solr.util.PropertiesUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
-import java.io.IOException;
-import java.util.List;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
import java.util.ArrayList;
-import java.util.Map;
+import java.util.HashMap;
+import java.util.List;
import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
/**
@@ -45,51 +47,28 @@ public class ConfigSolrXml extends Confi
protected static Logger log = LoggerFactory.getLogger(ConfigSolrXml.class);
private final CoresLocator coresLocator;
+ private final Config config;
+ private final Map<CfgProp, Object> propMap = new HashMap<>();
public ConfigSolrXml(Config config) {
- super(config);
- try {
- checkForIllegalConfig();
- fillPropMap();
- coresLocator = new CorePropertiesLocator(getCoreRootDirectory());
- } catch (IOException e) {
- throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
- }
+ super(config.getResourceLoader(), loadProperties(config));
+ this.config = config;
+ this.config.substituteProperties();
+ checkForIllegalConfig();
+ fillPropMap();
+ coresLocator = new CorePropertiesLocator(getCoreRootDirectory());
}
- private void checkForIllegalConfig() throws IOException {
+ private void checkForIllegalConfig() {
- // Do sanity checks - we don't want to find old style config
failIfFound("solr/@coreLoadThreads");
failIfFound("solr/@persistent");
failIfFound("solr/@sharedLib");
failIfFound("solr/@zkHost");
- failIfFound("solr/logging/@class");
- failIfFound("solr/logging/@enabled");
- failIfFound("solr/logging/watcher/@size");
- failIfFound("solr/logging/watcher/@threshold");
-
- failIfFound("solr/cores/@adminHandler");
- failIfFound("solr/cores/@distribUpdateConnTimeout");
- failIfFound("solr/cores/@distribUpdateSoTimeout");
- failIfFound("solr/cores/@host");
- failIfFound("solr/cores/@hostContext");
- failIfFound("solr/cores/@hostPort");
- failIfFound("solr/cores/@leaderVoteWait");
- failIfFound("solr/cores/@leaderConflictResolveWait");
- failIfFound("solr/cores/@genericCoreNodeNames");
- failIfFound("solr/cores/@managementPath");
- failIfFound("solr/cores/@shareSchema");
- failIfFound("solr/cores/@transientCacheSize");
- failIfFound("solr/cores/@zkClientTimeout");
-
- // These have no counterpart in 5.0, asking for any of these in Solr 5.0
- // will result in an error being
- // thrown.
- failIfFound("solr/cores/@defaultCoreName");
+ failIfFound("solr/cores");
+
failIfFound("solr/@persistent");
- failIfFound("solr/cores/@adminPath");
}
@@ -97,7 +76,32 @@ public class ConfigSolrXml extends Confi
if (config.getVal(xPath, false) != null) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Should not have found " + xPath +
- " solr.xml may be a mix of old and new style formats.");
+ "\n. Please upgrade your solr.xml: https://cwiki.apache.org/confluence/display/solr/Format+of+solr.xml");
+ }
+ }
+
+ protected String getProperty(CfgProp key) {
+ if (!propMap.containsKey(key) || propMap.get(key) == null)
+ return null;
+ return propMap.get(key).toString();
+ }
+
+ private static Properties loadProperties(Config config) {
+ try {
+ Node node = ((NodeList) config.evaluate("solr", XPathConstants.NODESET)).item(0);
+ XPath xpath = config.getXPath();
+ NodeList props = (NodeList) xpath.evaluate("property", node, XPathConstants.NODESET);
+ Properties properties = new Properties();
+ for (int i = 0; i < props.getLength(); i++) {
+ Node prop = props.item(i);
+ properties.setProperty(DOMUtil.getAttr(prop, "name"),
+ PropertiesUtil.substituteProperty(DOMUtil.getAttr(prop, "value"), null));
+ }
+ return properties;
+ }
+ catch (XPathExpressionException e) {
+ log.warn("Error parsing solr.xml: " + e.getMessage());
+ return null;
}
}
@@ -247,24 +251,9 @@ public class ConfigSolrXml extends Confi
}
}
- @Override
- public String getDefaultCoreName() {
- return "collection1";
- }
-
- @Override
- public boolean isPersistent() {
- return true;
- }
-
- @Override
- protected String getShardHandlerFactoryConfigPath() {
- return "solr/shardHandlerFactory";
- }
-
- @Override
- public String getAdminPath() {
- return DEFAULT_CORE_ADMIN_PATH;
+ public PluginInfo getShardHandlerFactoryPluginInfo() {
+ Node node = config.getNode("solr/shardHandlerFactory", false);
+ return (node == null) ? null : new PluginInfo(node, "shardHandlerFactory", false, true);
}
@Override
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/CoreContainer.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/CoreContainer.java Tue Jan 20 18:40:51 2015
@@ -17,21 +17,8 @@
package org.apache.solr.core;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Maps;
import org.apache.solr.cloud.ZkController;
import org.apache.solr.cloud.ZkSolrResourceLoader;
import org.apache.solr.common.SolrException;
@@ -51,8 +38,20 @@ import org.apache.zookeeper.KeeperExcept
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import static com.google.common.base.Preconditions.checkNotNull;
/**
@@ -102,9 +101,14 @@ public class CoreContainer {
protected final CoresLocator coresLocator;
private String hostName;
+
private final JarRepository jarRepository = new JarRepository(this);
-
- private Map<String ,SolrRequestHandler> containerHandlers = new HashMap<>();
+
+ public static final String CORES_HANDLER_PATH = "/admin/cores";
+ public static final String COLLECTIONS_HANDLER_PATH = "/admin/collections";
+ public static final String INFO_HANDLER_PATH = "/admin/info";
+
+ private Map<String, SolrRequestHandler> containerHandlers = new HashMap<>();
public SolrRequestHandler getRequestHandler(String path) {
return RequestHandlerBase.getRequestHandler(path, containerHandlers);
@@ -112,7 +116,6 @@ public class CoreContainer {
public Map<String, SolrRequestHandler> getRequestHandlers(){
return this.containerHandlers;
-
}
// private ClientConnectionManager clientConnectionManager = new PoolingClientConnectionManager();
@@ -137,7 +140,7 @@ public class CoreContainer {
* @see #load()
*/
public CoreContainer(SolrResourceLoader loader) {
- this(loader, ConfigSolr.fromSolrHome(loader, loader.getInstanceDir()));
+ this(ConfigSolr.fromSolrHome(loader, loader.getInstanceDir()));
}
/**
@@ -154,19 +157,15 @@ public class CoreContainer {
* Create a new CoreContainer using the given SolrResourceLoader,
* configuration and CoresLocator. The container's cores are
* not loaded.
- * @param loader the SolrResourceLoader
* @param config a ConfigSolr representation of this container's configuration
* @see #load()
*/
- public CoreContainer(SolrResourceLoader loader, ConfigSolr config) {
- this.loader = checkNotNull(loader);
- this.solrHome = loader.getInstanceDir();
- this.cfg = checkNotNull(config);
- this.coresLocator = config.getCoresLocator();
+ public CoreContainer(ConfigSolr config) {
+ this(config, config.getCoresLocator());
}
- public CoreContainer(SolrResourceLoader loader, ConfigSolr config, CoresLocator locator) {
- this.loader = checkNotNull(loader);
+ public CoreContainer(ConfigSolr config, CoresLocator locator) {
+ this.loader = config.getSolrResourceLoader();
this.solrHome = loader.getInstanceDir();
this.cfg = checkNotNull(config);
this.coresLocator = locator;
@@ -194,7 +193,7 @@ public class CoreContainer {
*/
public static CoreContainer createAndLoad(String solrHome, File configFile) {
SolrResourceLoader loader = new SolrResourceLoader(solrHome);
- CoreContainer cc = new CoreContainer(loader, ConfigSolr.fromFile(loader, configFile));
+ CoreContainer cc = new CoreContainer(ConfigSolr.fromFile(loader, configFile));
try {
cc.load();
} catch (Exception e) {
@@ -243,15 +242,15 @@ public class CoreContainer {
zkSys.initZooKeeper(this, solrHome, cfg);
collectionsHandler = createHandler(cfg.getCollectionsHandlerClass(), CollectionsHandler.class);
- containerHandlers.put("/admin/collections" , collectionsHandler);
+ containerHandlers.put(COLLECTIONS_HANDLER_PATH, collectionsHandler);
infoHandler = createHandler(cfg.getInfoHandlerClass(), InfoHandler.class);
- containerHandlers.put("/admin/info" , infoHandler);
+ containerHandlers.put(INFO_HANDLER_PATH, infoHandler);
coreAdminHandler = createHandler(cfg.getCoreAdminHandlerClass(), CoreAdminHandler.class);
- containerHandlers.put(cfg.getAdminPath() , coreAdminHandler);
+ containerHandlers.put(CORES_HANDLER_PATH, coreAdminHandler);
coreConfigService = cfg.createCoreConfigService(loader, zkSys.getZkController());
- containerProperties = cfg.getSolrProperties("solr");
+ containerProperties = cfg.getSolrProperties();
// setup executor to load cores in parallel
// do not limit the size of the executor in zk mode since cores may try and wait for each other.
@@ -599,8 +598,6 @@ public class CoreContainer {
*/
public void reload(String name) {
- name = checkDefault(name);
-
SolrCore core = solrCores.getCoreFromAnyList(name, false);
if (core == null)
throw new SolrException( SolrException.ErrorCode.BAD_REQUEST, "No such core: " + name );
@@ -623,11 +620,6 @@ public class CoreContainer {
}
- //5.0 remove all checkDefaults?
- private String checkDefault(String name) {
- return (null == name || name.isEmpty()) ? getDefaultCoreName() : name;
- }
-
/**
* Swaps two SolrCore descriptors.
*/
@@ -635,8 +627,6 @@ public class CoreContainer {
if( n0 == null || n1 == null ) {
throw new SolrException( SolrException.ErrorCode.BAD_REQUEST, "Can not swap unnamed cores." );
}
- n0 = checkDefault(n0);
- n1 = checkDefault(n1);
solrCores.swap(n0, n1);
coresLocator.swap(this, solrCores.getCoreDescriptor(n0), solrCores.getCoreDescriptor(n1));
@@ -662,8 +652,6 @@ public class CoreContainer {
*/
public void unload(String name, boolean deleteIndexDir, boolean deleteDataDir, boolean deleteInstanceDir) {
- name = checkDefault(name);
-
// check for core-init errors first
CoreLoadFailure loadFailure = coreInitFailures.remove(name);
if (loadFailure != null) {
@@ -715,7 +703,6 @@ public class CoreContainer {
try (SolrCore core = getCore(name)) {
if (core != null) {
registerCore(toName, core, true);
- name = checkDefault(name);
SolrCore old = solrCores.remove(name);
coresLocator.rename(this, old.getCoreDescriptor(), core.getCoreDescriptor());
}
@@ -753,8 +740,6 @@ public class CoreContainer {
*/
public SolrCore getCore(String name) {
- name = checkDefault(name);
-
// Do this in two phases since we don't want to lock access to the cores over a load.
SolrCore core = solrCores.getCoreFromAnyList(name, true);
@@ -821,26 +806,6 @@ public class CoreContainer {
return infoHandler;
}
- // ---------------- Multicore self related methods ---------------
-
- /**
- * the default core name, or null if there is no default core name
- */
- public String getDefaultCoreName() {
- return cfg.getDefaultCoreName();
- }
-
- // all of the following properties aren't synchronized
- // but this should be OK since they normally won't be changed rapidly
- @Deprecated
- public boolean isPersistent() {
- return cfg.isPersistent();
- }
-
- public String getAdminPath() {
- return cfg.getAdminPath();
- }
-
public String getHostName() {
return this.hostName;
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java Tue Jan 20 18:40:51 2015
@@ -17,25 +17,8 @@
package org.apache.solr.handler.admin;
-import static org.apache.solr.common.cloud.DocCollection.DOC_ROUTER;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.search.MatchAllDocsQuery;
@@ -67,7 +50,6 @@ import org.apache.solr.core.CoreDescript
import org.apache.solr.core.DirectoryFactory;
import org.apache.solr.core.DirectoryFactory.DirContext;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.core.SolrXMLCoresLocator;
import org.apache.solr.handler.RequestHandlerBase;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
@@ -86,8 +68,24 @@ import org.apache.zookeeper.KeeperExcept
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
+import static org.apache.solr.common.cloud.DocCollection.DOC_ROUTER;
/**
*
@@ -586,12 +584,7 @@ public class CoreAdminHandler extends Re
// only write out the descriptor if the core is successfully created
coreContainer.getCoresLocator().create(coreContainer, dcore);
-
- if (coreContainer.getCoresLocator() instanceof SolrXMLCoresLocator) {
- // hack - in this case we persist once more because a core create race might
- // have dropped entries.
- coreContainer.getCoresLocator().create(coreContainer);
- }
+
rsp.add("core", core.getName());
}
catch (Exception ex) {
@@ -694,7 +687,6 @@ public class CoreAdminHandler extends Re
}
try {
if (cname == null) {
- rsp.add("defaultCoreName", coreContainer.getDefaultCoreName());
for (String name : coreContainer.getAllCoreNames()) {
status.add(name, getCoreStatus(coreContainer, name, isIndexInfoNeeded));
}
@@ -1111,7 +1103,6 @@ public class CoreAdminHandler extends Re
CoreDescriptor desc = cores.getUnloadedCoreDescriptor(cname);
if (desc != null) {
info.add("name", desc.getName());
- info.add("isDefaultCore", desc.getName().equals(cores.getDefaultCoreName()));
info.add("instanceDir", desc.getInstanceDir());
// None of the following are guaranteed to be present in a not-yet-loaded core.
String tmp = desc.getDataDir();
@@ -1126,7 +1117,6 @@ public class CoreAdminHandler extends Re
try (SolrCore core = cores.getCore(cname)) {
if (core != null) {
info.add("name", core.getName());
- info.add("isDefaultCore", core.getName().equals(cores.getDefaultCoreName()));
info.add("instanceDir", normalizePath(core.getResourceLoader().getInstanceDir()));
info.add("dataDir", normalizePath(core.getDataDir()));
info.add("config", core.getConfigResource());
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/LoadAdminUiServlet.java Tue Jan 20 18:40:51 2015
@@ -17,21 +17,20 @@
package org.apache.solr.servlet;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.nio.charset.StandardCharsets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrCore;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
+
/**
* A simple servlet to load the Solr Admin UI
*
@@ -63,7 +62,7 @@ public final class LoadAdminUiServlet ex
};
String[] replace = new String[] {
StringEscapeUtils.escapeJavaScript(request.getContextPath()),
- StringEscapeUtils.escapeJavaScript(cores.getAdminPath()),
+ StringEscapeUtils.escapeJavaScript(CoreContainer.CORES_HANDLER_PATH),
StringEscapeUtils.escapeJavaScript(pack.getSpecificationVersion())
};
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java Tue Jan 20 18:40:51 2015
@@ -178,7 +178,7 @@ public class SolrDispatchFilter extends
protected CoreContainer createCoreContainer() {
SolrResourceLoader loader = new SolrResourceLoader(SolrResourceLoader.locateSolrHome());
ConfigSolr config = loadConfigSolr(loader);
- CoreContainer cores = new CoreContainer(loader, config);
+ CoreContainer cores = new CoreContainer(config);
cores.load();
return cores;
}
@@ -250,22 +250,18 @@ public class SolrDispatchFilter extends
path = path.substring( 0, idx );
}
- // Check for the core admin page
- if( path.equals( cores.getAdminPath() ) ) {
- handler = cores.getMultiCoreHandler();
- solrReq = SolrRequestParsers.DEFAULT.parse(null,path, req);
- handleAdminRequest(req, response, handler, solrReq);
- return;
- }
+
boolean usingAliases = false;
List<String> collectionsList = null;
- // Check for the core admin collections url
+
+ // Check for container handlers
handler = cores.getRequestHandler(path);
- if( handler!= null ) {
- solrReq = SolrRequestParsers.DEFAULT.parse(null,path, req);
+ if (handler != null) {
+ solrReq = SolrRequestParsers.DEFAULT.parse(null, path, req);
handleAdminRequest(req, response, handler, solrReq);
return;
- } else {
+ }
+ else {
//otherwise, we should find a core from the path
idx = path.indexOf( "/", 1 );
if( idx > 1 ) {
Modified: lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-slave.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-slave.xml?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-slave.xml (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-slave.xml Tue Jan 20 18:40:51 2015
@@ -42,7 +42,7 @@
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="slave">
- <str name="masterUrl">http://127.0.0.1:TEST_PORT/solr</str>
+ <str name="masterUrl">http://127.0.0.1:TEST_PORT/solr/collection1</str>
<str name="pollInterval">00:00:01</str>
<str name="compression">COMPRESSION</str>
</lst>
Modified: lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-no-core.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-no-core.xml?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-no-core.xml (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-no-core.xml Tue Jan 20 18:40:51 2015
@@ -19,6 +19,8 @@
<solr>
<str name="shareSchema">${shareSchema:false}</str>
+ <str name="configSetBaseDir">${configSetBaseDir:configsets}</str>
+ <str name="coreRootDirectory">${coreRootDirectory:.}</str>
<solrcloud>
<str name="host">127.0.0.1</str>
Modified: lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr.xml?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr.xml (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr.xml Tue Jan 20 18:40:51 2015
@@ -18,27 +18,28 @@
<!--
All (relative) paths are relative to the installation path
-
- persistent: Save changes made via the API to this file
- sharedLib: path to a lib directory that will be shared across all cores
-->
-<solr persistent="${solr.xml.persist:false}">
+<solr>
+
+ <str name="shareSchema">${shareSchema:false}</str>
+ <str name="configSetBaseDir">${configSetBaseDir:configsets}</str>
+ <str name="coreRootDirectory">${coreRootDirectory:.}</str>
+
+ <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
+ <str name="urlScheme">${urlScheme:}</str>
+ <int name="socketTimeout">${socketTimeout:90000}</int>
+ <int name="connTimeout">${connTimeout:15000}</int>
+ </shardHandlerFactory>
- <!--
- adminPath: RequestHandler path to manage cores.
- If 'null' (or absent), cores will not be manageable via request handler
- -->
- <cores adminPath="/admin/cores" defaultCoreName="collection1" host="127.0.0.1" hostPort="${hostPort:8983}"
- hostContext="${hostContext:solr}" zkClientTimeout="${solr.zkclienttimeout:30000}" shareSchema="${shareSchema:false}"
- genericCoreNodeNames="${genericCoreNodeNames:true}" leaderVoteWait="0"
- distribUpdateConnTimeout="${distribUpdateConnTimeout:45000}" distribUpdateSoTimeout="${distribUpdateSoTimeout:340000}">
- <core name="collection1" instanceDir="collection1" shard="${shard:}" collection="${collection:collection1}" config="${solrconfig:solrconfig.xml}" schema="${schema:schema.xml}"
- coreNodeName="${coreNodeName:}"/>
- <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
- <str name="urlScheme">${urlScheme:}</str>
- <int name="socketTimeout">${socketTimeout:90000}</int>
- <int name="connTimeout">${connTimeout:15000}</int>
- </shardHandlerFactory>
- </cores>
+ <solrcloud>
+ <str name="host">127.0.0.1</str>
+ <int name="hostPort">${hostPort:8983}</int>
+ <str name="hostContext">${hostContext:solr}</str>
+ <int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int>
+ <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
+ <int name="leaderVoteWait">0</int>
+ <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:45000}</int>
+ <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:340000}</int>
+ </solrcloud>
</solr>
Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java Tue Jan 20 18:40:51 2015
@@ -16,20 +16,21 @@
*/
package org.apache.solr;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.util.Properties;
-
import org.apache.commons.io.FileUtils;
import org.apache.lucene.util.IOUtils;
+import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.junit.BeforeClass;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.util.Properties;
/**
* <p> Test for Loading core properties from a properties file </p>
@@ -39,6 +40,8 @@ import java.nio.charset.StandardCharsets
*/
public class TestSolrCoreProperties extends SolrJettyTestBase {
+ // TODO these properties files don't work with configsets
+
@BeforeClass
public static void beforeTest() throws Exception {
File homeDir = createTempDir().toFile();
@@ -68,7 +71,19 @@ public class TestSolrCoreProperties exte
p.store(fos, null);
IOUtils.close(fos);
- createJetty(homeDir.getAbsolutePath(), null, null);
+ Files.createFile(collDir.toPath().resolve("core.properties"));
+
+ jetty = new JettySolrRunner(homeDir.getAbsolutePath(), "/solr", 0, null, null, true, null, sslConfig);
+
+ // this sets the property for jetty starting SolrDispatchFilter
+ if (System.getProperty("solr.data.dir") == null && System.getProperty("solr.hdfs.home") == null) {
+ jetty.setDataDir(createTempDir().toFile().getCanonicalPath());
+ }
+
+ jetty.start();
+ port = jetty.getLocalPort();
+
+ //createJetty(homeDir.getAbsolutePath(), null, null);
}
public void testSimple() throws Exception {
Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestTolerantSearch.java?rev=1653332&r1=1653331&r2=1653332&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestTolerantSearch.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestTolerantSearch.java Tue Jan 20 18:40:51 2015
@@ -1,12 +1,8 @@
package org.apache.solr;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-
import org.apache.commons.io.FileUtils;
-import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
@@ -21,6 +17,10 @@ import org.apache.solr.response.SolrQuer
import org.junit.AfterClass;
import org.junit.BeforeClass;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -60,7 +60,7 @@ public class TestTolerantSearch extends
solrHome = createSolrHome();
createJetty(solrHome.getAbsolutePath(), null, null);
String url = jetty.getBaseUrl().toString();
- collection1 = new HttpSolrClient(url);
+ collection1 = new HttpSolrClient(url + "/collection1");
collection2 = new HttpSolrClient(url + "/collection2");
String urlCollection1 = jetty.getBaseUrl().toString() + "/" + "collection1";
@@ -69,9 +69,16 @@ public class TestTolerantSearch extends
shard2 = urlCollection2.replaceAll("https?://", "");
//create second core
- CoreAdminRequest.Create req = new CoreAdminRequest.Create();
- req.setCoreName("collection2");
- collection1.request(req);
+ HttpSolrClient nodeClient = new HttpSolrClient(url);
+ try {
+ CoreAdminRequest.Create req = new CoreAdminRequest.Create();
+ req.setCoreName("collection2");
+ req.setConfigSet("collection1");
+ nodeClient.request(req);
+ }
+ finally {
+ nodeClient.shutdown();
+ }
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id", "1");