Index: oak-benchmarks/pom.xml =================================================================== --- oak-benchmarks/pom.xml (revision 1817889) +++ oak-benchmarks/pom.xml (working copy) @@ -170,7 +170,7 @@ org.apache.solr solr-core - ${lucene.version} + ${solr.version} org.apache.lucene Index: oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java =================================================================== --- oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java (revision 1817889) +++ oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java (working copy) @@ -43,7 +43,7 @@ import org.apache.jackrabbit.oak.plugins.index.solr.server.EmbeddedSolrServerProvider; import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider; import org.apache.jackrabbit.oak.plugins.index.solr.util.SolrIndexInitializer; -import org.apache.solr.client.solrj.SolrServer; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -114,7 +114,7 @@ embeddedSolrServerConfiguration = embeddedSolrServerConfiguration.withHttpConfiguration("/solr", 8983); } EmbeddedSolrServerProvider embeddedSolrServerProvider = embeddedSolrServerConfiguration.getProvider(); - SolrServer solrServer = embeddedSolrServerProvider.getSolrServer(); + SolrClient solrServer = embeddedSolrServerProvider.getSolrServer(); if (storageEnabled != null && !storageEnabled) { // change schema.xml and reload the core File schemaXML = new File(solrHome.getAbsolutePath() + "/oak/conf", "schema.xml"); @@ -131,7 +131,7 @@ @Override protected void afterSuite() throws Exception { - SolrServer solrServer = serverProvider.getSolrServer(); + SolrClient solrServer = serverProvider.getSolrServer(); if (solrServer != null) { solrServer.shutdown(); } Index: oak-parent/pom.xml =================================================================== --- oak-parent/pom.xml (revision 1817889) +++ oak-parent/pom.xml (working copy) @@ -50,6 +50,7 @@ MongoMKDB2 SegmentMK 4.7.1 + 5.5.5 3.4.0 Index: oak-solr-core/pom.xml =================================================================== --- oak-solr-core/pom.xml (revision 1817889) +++ oak-solr-core/pom.xml (working copy) @@ -99,19 +99,19 @@ org.apache.lucene lucene-test-framework - ${lucene.version} + ${solr.version} test org.apache.lucene lucene-core - ${lucene.version} + ${solr.version} test org.apache.lucene lucene-analyzers-common - ${lucene.version} + ${solr.version} test @@ -253,7 +253,7 @@ org.apache.solr solr-core - ${lucene.version} + ${solr.version} org.slf4j @@ -269,7 +269,7 @@ org.apache.solr solr-solrj - ${lucene.version} + ${solr.version} provided Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java (working copy) @@ -24,7 +24,7 @@ import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider; /** - * Configuration parameters for starting a {@link org.apache.solr.client.solrj.SolrServer} + * Configuration parameters for starting a {@link org.apache.solr.client.solrj.SolrClient} */ public abstract class SolrServerConfiguration { Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java (working copy) @@ -21,13 +21,13 @@ import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider; /** - * {@link org.apache.solr.client.solrj.SolrServer} configuration provider. + * {@link org.apache.solr.client.solrj.SolrClient} configuration provider. */ public interface SolrServerConfigurationProvider { /** * Provide a {@link SolrServerConfiguration} to be used to initialize a specific - * {@link org.apache.solr.client.solrj.SolrServer} implementation. + * {@link org.apache.solr.client.solrj.SolrClient} implementation. * * @return the {@link org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration} holding the configuration parameters */ Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java (working copy) @@ -21,6 +21,7 @@ import com.google.common.collect.Iterables; import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider; import org.apache.jackrabbit.oak.spi.state.NodeState; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServer; /** @@ -46,19 +47,19 @@ } @Override - public SolrServer getSolrServer() throws Exception { + public SolrClient getSolrServer() throws Exception { checkProviderInitialization(); return provider.getSolrServer(); } @Override - public SolrServer getIndexingSolrServer() throws Exception { + public SolrClient getIndexingSolrServer() throws Exception { checkProviderInitialization(); return provider.getIndexingSolrServer(); } @Override - public SolrServer getSearchingSolrServer() throws Exception { + public SolrClient getSearchingSolrServer() throws Exception { checkProviderInitialization(); return provider.getSearchingSolrServer(); } Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java (working copy) @@ -32,7 +32,7 @@ import org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfiguration; import org.apache.jackrabbit.oak.spi.commit.Editor; import org.apache.jackrabbit.oak.spi.state.NodeState; -import org.apache.solr.client.solrj.SolrServer; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.common.SolrInputDocument; import org.apache.tika.metadata.Metadata; @@ -70,7 +70,7 @@ */ private String path; - private final SolrServer solrServer; + private final SolrClient solrServer; private final OakSolrConfiguration configuration; @@ -81,7 +81,7 @@ private static final Parser parser = new AutoDetectParser(); SolrIndexEditor( - SolrServer solrServer, + SolrClient solrServer, OakSolrConfiguration configuration, IndexUpdateCallback callback) { this.parent = null; @@ -141,7 +141,7 @@ } } - private void commitByPolicy(SolrServer solrServer, OakSolrConfiguration.CommitPolicy commitPolicy) throws IOException, SolrServerException { + private void commitByPolicy(SolrClient solrServer, OakSolrConfiguration.CommitPolicy commitPolicy) throws IOException, SolrServerException { switch (commitPolicy) { case HARD: { solrServer.commit(); Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java (working copy) @@ -32,6 +32,7 @@ import org.apache.jackrabbit.oak.spi.commit.Editor; import org.apache.jackrabbit.oak.spi.state.NodeBuilder; import org.apache.jackrabbit.oak.spi.state.NodeState; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -68,7 +69,7 @@ NodeState nodeState = definition.getNodeState(); OakSolrConfiguration configuration = new OakSolrNodeStateConfiguration(nodeState); SolrServerConfigurationProvider configurationProvider = new NodeStateSolrServerConfigurationProvider(definition.getChildNode("server").getNodeState()); - SolrServer solrServer = new OakSolrServer(configurationProvider); + SolrClient solrServer = new OakSolrServer(configurationProvider); editor = getEditor(configuration, solrServer, callback); } else { // otherwise use the default configuration providers (e.g. defined via code or OSGi) OakSolrConfiguration configuration = oakSolrConfigurationProvider.getConfiguration(); @@ -85,7 +86,7 @@ return definition.hasChildNode("server"); } - private SolrIndexEditor getEditor(OakSolrConfiguration configuration, SolrServer solrServer, + private SolrIndexEditor getEditor(OakSolrConfiguration configuration, SolrClient solrServer, IndexUpdateCallback callback) { SolrIndexEditor editor = null; try { Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java (working copy) @@ -34,7 +34,7 @@ import org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationProvider; import org.apache.jackrabbit.oak.plugins.index.solr.server.OakSolrServer; import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider; -import org.apache.solr.client.solrj.SolrServer; +import org.apache.solr.client.solrj.SolrClient; import org.osgi.service.component.ComponentContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -76,7 +76,7 @@ private String serverType; - private SolrServer cachedSolrServer; + private SolrClient cachedSolrServer; @Activate protected void activate(ComponentContext context) throws Exception { @@ -140,7 +140,7 @@ @CheckForNull @Override - public SolrServer getSolrServer() throws Exception { + public SolrClient getSolrServer() throws Exception { synchronized (solrServerConfigurationProviders) { if (cachedSolrServer == null) { cachedSolrServer = getServer(); @@ -151,18 +151,18 @@ @CheckForNull @Override - public SolrServer getIndexingSolrServer() throws Exception { + public SolrClient getIndexingSolrServer() throws Exception { return getSolrServer(); } @CheckForNull @Override - public SolrServer getSearchingSolrServer() throws Exception { + public SolrClient getSearchingSolrServer() throws Exception { return getSolrServer(); } - private SolrServer getServer() { - SolrServer solrServer = null; + private SolrClient getServer() { + SolrClient solrServer = null; if (serverType != null && !"none".equals(serverType)) { SolrServerConfigurationProvider solrServerConfigurationProvider = solrServerConfigurationProviders.get(serverType); if (solrServerConfigurationProvider != null) { Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java (working copy) @@ -17,6 +17,7 @@ package org.apache.jackrabbit.oak.plugins.index.solr.query; import javax.annotation.CheckForNull; +import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -59,6 +60,7 @@ import org.apache.jackrabbit.oak.spi.query.QueryIndex.FulltextQueryIndex; import org.apache.jackrabbit.oak.spi.query.QueryLimits; import org.apache.jackrabbit.oak.spi.state.NodeState; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; @@ -217,7 +219,7 @@ String path = plan.getPlanName(); OakSolrConfiguration configuration = getConfiguration(path, root); - SolrServer solrServer = getServer(path, root); + SolrClient solrServer = getServer(path, root); LMSEstimator estimator = getEstimator(path); AbstractIterator iterator = getIterator(filter, plan, parent, parentDepth, configuration, @@ -237,7 +239,7 @@ return estimators.get(path); } - private SolrServer getServer(String path, NodeState root) { + private SolrClient getServer(String path, NodeState root) { NodeState node = root; for (String name : PathUtils.elements(path)) { @@ -265,7 +267,7 @@ private AbstractIterator getIterator(final Filter filter, final IndexPlan plan, final String parent, final int parentDepth, - final OakSolrConfiguration configuration, final SolrServer solrServer, + final OakSolrConfiguration configuration, final SolrClient solrServer, final LMSEstimator estimator) { return new AbstractIterator() { public Collection facetFields = new LinkedList(); @@ -457,7 +459,7 @@ private void putSpellChecks(SpellCheckResponse spellCheckResponse, final Deque queue, - Filter filter, OakSolrConfiguration configuration, SolrServer solrServer) throws SolrServerException { + Filter filter, OakSolrConfiguration configuration, SolrClient solrServer) throws IOException, SolrServerException { List suggestions = spellCheckResponse.getSuggestions(); Collection alternatives = new ArrayList(suggestions.size()); for (SpellCheckResponse.Suggestion suggestion : suggestions) { @@ -485,7 +487,7 @@ } private void putSuggestions(Set> suggestEntries, final Deque queue, - Filter filter, OakSolrConfiguration configuration, SolrServer solrServer) throws SolrServerException { + Filter filter, OakSolrConfiguration configuration, SolrClient solrServer) throws IOException, SolrServerException { Collection> retrievedSuggestions = new HashSet>(); for (Map.Entry suggester : suggestEntries) { SimpleOrderedMap suggestionResponses = ((SimpleOrderedMap) suggester.getValue()); @@ -547,7 +549,7 @@ for (String path : indexPaths) { OakSolrConfiguration configuration = getConfiguration(path, rootState); - SolrServer solrServer = getServer(path, rootState); + SolrClient solrServer = getServer(path, rootState); // only provide the plan if both valid configuration and server exist if (configuration != null && solrServer != null) { LMSEstimator estimator = getEstimator(path); @@ -666,13 +668,13 @@ private final Cursor pathCursor; private final IndexPlan plan; private final LMSEstimator estimator; - private final SolrServer solrServer; + private final SolrClient solrServer; private final OakSolrConfiguration configuration; SolrResultRow currentRow; SolrRowCursor(final Iterator it, IndexPlan plan, QueryLimits settings, - LMSEstimator estimator, SolrServer solrServer, OakSolrConfiguration configuration) { + LMSEstimator estimator, SolrClient solrServer, OakSolrConfiguration configuration) { this.estimator = estimator; this.solrServer = solrServer; this.configuration = configuration; @@ -795,7 +797,7 @@ countQuery.setRows(0); try { estimate = this.solrServer.query(countQuery).getResults().getNumFound(); - } catch (SolrServerException e) { + } catch (IOException | SolrServerException e) { log.warn("could not perform count query {}", countQuery); } break; Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java (working copy) @@ -20,6 +20,7 @@ import javax.annotation.CheckForNull; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationDefaults; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer; import org.apache.solr.client.solrj.impl.HttpSolrServer; @@ -26,12 +27,12 @@ public class DefaultSolrServerProvider implements SolrServerProvider { - private SolrServer solrServer; - private SolrServer indexingSolrServer; + private SolrClient solrServer; + private SolrClient indexingSolrServer; @CheckForNull @Override - public SolrServer getSolrServer() throws Exception { + public SolrClient getSolrServer() throws Exception { if (solrServer == null) { solrServer = new HttpSolrServer(getUrl()); } @@ -40,7 +41,7 @@ @CheckForNull @Override - public SolrServer getIndexingSolrServer() throws Exception { + public SolrClient getIndexingSolrServer() throws Exception { if (indexingSolrServer == null) { indexingSolrServer = new ConcurrentUpdateSolrServer(getUrl(), 1000, 4); } @@ -49,7 +50,7 @@ @CheckForNull @Override - public SolrServer getSearchingSolrServer() throws Exception { + public SolrClient getSearchingSolrServer() throws Exception { return getSolrServer(); } @@ -62,7 +63,7 @@ @Override public void close() throws IOException { try { - SolrServer solrServer = getSolrServer(); + SolrClient solrServer = getSolrServer(); if (solrServer != null) { solrServer.shutdown(); } @@ -69,7 +70,7 @@ } catch (Exception e) { // do nothing } try { - SolrServer indexingSolrServer = getIndexingSolrServer(); + SolrClient indexingSolrServer = getIndexingSolrServer(); if (indexingSolrServer != null) { indexingSolrServer.shutdown(); } Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java (working copy) @@ -28,6 +28,7 @@ import org.apache.jackrabbit.oak.commons.IOUtils; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationDefaults; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; import org.apache.solr.client.solrj.embedded.JettySolrRunner; @@ -50,7 +51,7 @@ this.solrServerConfiguration = solrServerConfiguration; } - private SolrServer createSolrServer() throws Exception { + private SolrClient createSolrServer() throws Exception { log.info("creating new embedded solr server with config: {}", solrServerConfiguration); @@ -75,7 +76,7 @@ if (log.isInfoEnabled()) { log.info("Jetty runner instantiated"); } - jettySolrRunner.start(true); + jettySolrRunner.start(); if (log.isInfoEnabled()) { log.info("Jetty runner started"); } @@ -235,19 +236,19 @@ @CheckForNull @Override - public SolrServer getSolrServer() throws Exception { + public SolrClient getSolrServer() throws Exception { return createSolrServer(); } @CheckForNull @Override - public SolrServer getIndexingSolrServer() throws Exception { + public SolrClient getIndexingSolrServer() throws Exception { return getSolrServer(); } @CheckForNull @Override - public SolrServer getSearchingSolrServer() throws Exception { + public SolrClient getSearchingSolrServer() throws Exception { return getSolrServer(); } Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java (working copy) @@ -22,6 +22,7 @@ import org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationProvider; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; @@ -47,10 +48,10 @@ } @Override - public NamedList request(SolrRequest request) throws SolrServerException, IOException { + public NamedList request(SolrRequest request, String collection) throws SolrServerException, IOException { try { - SolrServer server = getServer(request); + SolrClient server = getServer(request); return server.request(request); } catch (Exception e) { @@ -58,10 +59,10 @@ } } - private synchronized SolrServer getServer(SolrRequest request) throws Exception { + private synchronized SolrClient getServer(SolrRequest request) throws Exception { boolean isIndex = request.getPath().contains("/update"); SolrServerRegistry.Strategy strategy = isIndex ? SolrServerRegistry.Strategy.INDEXING : SolrServerRegistry.Strategy.SEARCHING; - SolrServer solrServer = SolrServerRegistry.get(solrServerConfiguration, strategy); + SolrClient solrServer = SolrServerRegistry.get(solrServerConfiguration, strategy); if (solrServer == null) { if (solrServerConfiguration instanceof EmbeddedSolrServerConfiguration) { solrServer = solrServerProvider.getSolrServer(); Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java (working copy) @@ -18,12 +18,16 @@ import java.io.File; import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; import javax.annotation.CheckForNull; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfigurationDefaults; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.RemoteSolrServerConfiguration; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.impl.CloudSolrServer; import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer; import org.apache.solr.client.solrj.impl.HttpSolrServer; @@ -50,9 +54,9 @@ @CheckForNull @Override - public SolrServer getSolrServer() throws Exception { + public SolrClient getSolrServer() throws Exception { - SolrServer solrServer = null; + SolrClient solrServer = null; if (remoteSolrServerConfiguration.getSolrZkHost() != null && remoteSolrServerConfiguration.getSolrZkHost().length() > 0) { try { solrServer = initializeWithCloudSolrServer(); @@ -77,8 +81,8 @@ @CheckForNull @Override - public SolrServer getIndexingSolrServer() throws Exception { - SolrServer server = getSolrServer(); + public SolrClient getIndexingSolrServer() throws Exception { + SolrClient server = getSolrServer(); if (server instanceof HttpSolrServer) { String url = ((HttpSolrServer) server).getBaseURL(); @@ -93,11 +97,11 @@ @CheckForNull @Override - public SolrServer getSearchingSolrServer() throws Exception { + public SolrClient getSearchingSolrServer() throws Exception { return getSolrServer(); } - private SolrServer initializeWithExistingHttpServer() throws IOException, SolrServerException { + private SolrClient initializeWithExistingHttpServer() throws IOException, SolrServerException { // try basic Solr HTTP client HttpSolrServer httpSolrServer = new HttpSolrServer(remoteSolrServerConfiguration.getSolrHttpUrls()[0]); httpSolrServer.setConnectionTimeout(remoteSolrServerConfiguration.getConnectionTimeout()); @@ -111,9 +115,9 @@ } - private SolrServer initializeWithCloudSolrServer() throws IOException { + private SolrClient initializeWithCloudSolrServer() throws IOException { // try SolrCloud client - CloudSolrServer cloudSolrServer = new CloudSolrServer(remoteSolrServerConfiguration.getSolrZkHost()); + CloudSolrClient cloudSolrServer = new CloudSolrClient(remoteSolrServerConfiguration.getSolrZkHost()); cloudSolrServer.setZkConnectTimeout(remoteSolrServerConfiguration.getConnectionTimeout()); cloudSolrServer.setZkClientTimeout(remoteSolrServerConfiguration.getSocketTimeout()); cloudSolrServer.setIdField(OakSolrConfigurationDefaults.PATH_FIELD_NAME); @@ -162,7 +166,7 @@ } - private boolean connectToZK(CloudSolrServer cloudSolrServer) { + private boolean connectToZK(CloudSolrClient cloudSolrServer) { boolean connected = false; for (int i = 0; i < 3; i++) { try { @@ -181,7 +185,7 @@ return connected; } - private void createCollectionIfNeeded(CloudSolrServer cloudSolrServer) throws SolrServerException { + private void createCollectionIfNeeded(CloudSolrClient cloudSolrServer) throws SolrServerException { String solrCollection = remoteSolrServerConfiguration.getSolrCollection(); try { ZkStateReader zkStateReader = cloudSolrServer.getZkStateReader(); @@ -188,13 +192,13 @@ SolrZkClient zkClient = zkStateReader.getZkClient(); if (zkClient.isConnected() && !zkClient.exists("/configs/" + solrCollection, false)) { String solrConfDir = remoteSolrServerConfiguration.getSolrConfDir(); - File dir; + Path dir; if (solrConfDir != null && solrConfDir.length() > 0) { - dir = new File(solrConfDir); + dir = Paths.get(solrConfDir); } else { - dir = new File(getClass().getResource("/solr/oak/conf").getFile()); + dir = Paths.get(getClass().getResource("/solr/oak/conf").getFile()); } - ZkController.uploadConfigDir(zkClient, dir, solrCollection); + cloudSolrServer.uploadConfig(dir, solrCollection); UpdateRequest req = new UpdateRequest("/admin/collections"); req.setParam("action", "CREATE"); req.setParam("numShards", String.valueOf(remoteSolrServerConfiguration.getSolrShardsNo())); Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java (working copy) @@ -19,40 +19,40 @@ import java.io.Closeable; import javax.annotation.CheckForNull; -import org.apache.solr.client.solrj.SolrServer; +import org.apache.solr.client.solrj.SolrClient; /** - * Provider of {@link org.apache.solr.client.solrj.SolrServer}s instances + * Provider of {@link org.apache.solr.client.solrj.SolrClient}s instances */ public interface SolrServerProvider extends Closeable { /** - * provides an already initialized {@link org.apache.solr.client.solrj.SolrServer} to be used for either searching or + * provides an already initialized {@link org.apache.solr.client.solrj.SolrClient} to be used for either searching or * indexing, or both. * - * @return a {@link org.apache.solr.client.solrj.SolrServer} instance - * @throws Exception if anything goes wrong while initializing the {@link org.apache.solr.client.solrj.SolrServer} + * @return a {@link org.apache.solr.client.solrj.SolrClient} instance + * @throws Exception if anything goes wrong while initializing the {@link org.apache.solr.client.solrj.SolrClient} */ @CheckForNull - SolrServer getSolrServer() throws Exception; + SolrClient getSolrServer() throws Exception; /** - * provides an already initialized {@link org.apache.solr.client.solrj.SolrServer} specifically configured to be + * provides an already initialized {@link org.apache.solr.client.solrj.SolrClient} specifically configured to be * used for indexing. * - * @return a {@link org.apache.solr.client.solrj.SolrServer} instance - * @throws Exception if anything goes wrong while initializing the {@link org.apache.solr.client.solrj.SolrServer} + * @return a {@link org.apache.solr.client.solrj.SolrClient} instance + * @throws Exception if anything goes wrong while initializing the {@link org.apache.solr.client.solrj.SolrClient} */ @CheckForNull - SolrServer getIndexingSolrServer() throws Exception; + SolrClient getIndexingSolrServer() throws Exception; /** - * provides an already initialized {@link org.apache.solr.client.solrj.SolrServer} specifically configured to be + * provides an already initialized {@link org.apache.solr.client.solrj.SolrClient} specifically configured to be * used for searching. * - * @return a {@link org.apache.solr.client.solrj.SolrServer} instance - * @throws Exception if anything goes wrong while initializing the {@link org.apache.solr.client.solrj.SolrServer} + * @return a {@link org.apache.solr.client.solrj.SolrClient} instance + * @throws Exception if anything goes wrong while initializing the {@link org.apache.solr.client.solrj.SolrClient} */ @CheckForNull - SolrServer getSearchingSolrServer() throws Exception; + SolrClient getSearchingSolrServer() throws Exception; } Index: oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java =================================================================== --- oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java (revision 1817889) +++ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java (working copy) @@ -22,6 +22,7 @@ import javax.annotation.Nonnull; import org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServer; /** @@ -29,10 +30,10 @@ */ public class SolrServerRegistry { - private static final Map searchingServerRegistry = new HashMap(); - private static final Map indexingServerRegistry = new HashMap(); + private static final Map searchingServerRegistry = new HashMap(); + private static final Map indexingServerRegistry = new HashMap(); - public static void register(@Nonnull SolrServerConfiguration configuration, @Nonnull SolrServer solrServer, + public static void register(@Nonnull SolrServerConfiguration configuration, @Nonnull SolrClient solrServer, @Nonnull Strategy strategy) { switch (strategy) { case INDEXING: @@ -49,7 +50,7 @@ } @CheckForNull - public static SolrServer get(@Nonnull SolrServerConfiguration configuration, @Nonnull Strategy strategy) { + public static SolrClient get(@Nonnull SolrServerConfiguration configuration, @Nonnull Strategy strategy) { switch (strategy) { case INDEXING: synchronized (indexingServerRegistry) { @@ -67,7 +68,7 @@ switch (strategy) { case INDEXING: synchronized (indexingServerRegistry) { - SolrServer removed = indexingServerRegistry.remove(configuration.toString()); + SolrClient removed = indexingServerRegistry.remove(configuration.toString()); try { removed.shutdown(); } catch (Exception e) { @@ -77,7 +78,7 @@ break; case SEARCHING: synchronized (searchingServerRegistry) { - SolrServer removed = searchingServerRegistry.remove(configuration.toString()); + SolrClient removed = searchingServerRegistry.remove(configuration.toString()); try { removed.shutdown(); } catch (Exception e) { Index: oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml =================================================================== --- oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml (revision 1817889) +++ oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml (working copy) @@ -919,18 +919,6 @@ --> - - - - application/json - - - - - application/csv - - - - - - - application/json - - - - - application/csv - - -