Author: thomasm
Date: Tue Oct 27 12:19:17 2020
New Revision: 1882912

URL: http://svn.apache.org/viewvc?rev=1882912&view=rev
Log:
OAK-9261 Upgrade Apache Solr to 8.6.3 and remove Embedded Solr Server

Removed:
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/EmbeddedSolrServerConfiguration.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/jcr/
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProviderTest.java
Modified:
    jackrabbit/oak/branches/1.4/   (props changed)
    jackrabbit/oak/branches/1.4/oak-parent/pom.xml
    jackrabbit/oak/branches/1.4/oak-run/pom.xml
    
jackrabbit/oak/branches/1.4/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java
    jackrabbit/oak/branches/1.4/oak-solr-core/pom.xml
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/DefaultAnalyzersConfigurationTest.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationTest.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorIT.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorTest.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexIT.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SubtreeSolrIndexIT.java
    
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProviderIT.java
    jackrabbit/oak/branches/1.4/oak-solr-osgi/pom.xml

Propchange: jackrabbit/oak/branches/1.4/
------------------------------------------------------------------------------
  Merged /jackrabbit/oak/branches/1.6:r1882909
  Merged /jackrabbit/oak/branches/1.8:r1882871
  Merged /jackrabbit/oak/trunk:r1882787
  Merged /jackrabbit/oak/branches/1.22:r1882810

Modified: jackrabbit/oak/branches/1.4/oak-parent/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-parent/pom.xml?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-parent/pom.xml (original)
+++ jackrabbit/oak/branches/1.4/oak-parent/pom.xml Tue Oct 27 12:19:17 2020
@@ -49,6 +49,7 @@
     <mongo.db2>MongoMKDB2</mongo.db2>
     <segment.db>SegmentMK</segment.db>
     <lucene.version>4.7.1</lucene.version>
+    <solr.version>8.6.3</solr.version>
     <mongo.driver.version>3.6.4</mongo.driver.version>
     <slf4j.api.version>1.7.26</slf4j.api.version>
     <slf4j.version>1.7.26</slf4j.version> <!-- sync with logback version -->

Modified: jackrabbit/oak/branches/1.4/oak-run/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-run/pom.xml?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-run/pom.xml (original)
+++ jackrabbit/oak/branches/1.4/oak-run/pom.xml Tue Oct 27 12:19:17 2020
@@ -262,18 +262,18 @@
     <dependency>
       <groupId>org.apache.solr</groupId>
       <artifactId>solr-solrj</artifactId>
-      <version>${lucene.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.solr</groupId>
-      <artifactId>solr-core</artifactId>
-      <version>${lucene.version}</version>
+      <version>${solr.version}</version>
       <exclusions>
         <exclusion>
-          <groupId>org.apache.lucene</groupId>
-          <artifactId>lucene-core</artifactId>
+          <groupId>org.eclipse.jetty</groupId>
+          <artifactId>jetty-xml</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.eclipse.jetty</groupId>
+          <artifactId>jetty-alpn-java-client</artifactId>
         </exclusion>
       </exclusions>
+      <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
@@ -336,6 +336,21 @@
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-http</artifactId>
+      <version>${jetty.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-io</artifactId>
+      <version>${jetty.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-util</artifactId>
+      <version>${jetty.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-servlet</artifactId>
       <version>${jetty.version}</version>
     </dependency>

Modified: 
jackrabbit/oak/branches/1.4/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/FullTextSolrSearchTest.java
 Tue Oct 27 12:19:17 2020
@@ -33,18 +33,15 @@ import org.apache.jackrabbit.oak.fixture
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 import org.apache.jackrabbit.oak.jcr.Jcr;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.DefaultSolrConfiguration;
-import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfigurationProvider;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.RemoteSolrServerConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.nodestate.NodeStateSolrServersObserver;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.index.SolrIndexEditorProvider;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.query.SolrQueryIndexProvider;
-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.embedded.EmbeddedSolrServer;
+import org.apache.solr.client.solrj.SolrClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -90,13 +87,7 @@ public class FullTextSolrSearchTest exte
     }
 
     private void initializeProvider() throws Exception {
-        if (server == null || "default".equals(server)) {
-            log.info("spawning Solr locally");
-            serverProvider = createEmbeddedSolrServerProvider(true);
-        } else if (server != null && "embedded".equals(server)) {
-            log.info("using embedded Solr");
-            serverProvider = createEmbeddedSolrServerProvider(false);
-        } else if (server != null && (server.startsWith("http") || 
server.matches("\\w+\\:\\d{3,5}"))) {
+        if (server != null && (server.startsWith("http") || 
server.matches("\\w+\\:\\d{3,5}"))) {
             log.info("using remote Solr {}", server);
             RemoteSolrServerConfiguration remoteSolrServerConfiguration = new 
RemoteSolrServerConfiguration(server, "oak", 2, 2, null, server);
             serverProvider = remoteSolrServerConfiguration.getProvider();
@@ -105,34 +96,11 @@ public class FullTextSolrSearchTest exte
         }
     }
 
-    private EmbeddedSolrServerProvider 
createEmbeddedSolrServerProvider(boolean http) throws Exception {
-        String tempDirectoryPath = FileUtils.getTempDirectoryPath();
-        File solrHome = new File(tempDirectoryPath, "solr" + 
System.nanoTime());
-        EmbeddedSolrServerConfiguration embeddedSolrServerConfiguration = new 
EmbeddedSolrServerConfiguration(solrHome.getAbsolutePath(), "oak");
-        if (http) {
-            embeddedSolrServerConfiguration = 
embeddedSolrServerConfiguration.withHttpConfiguration("/solr", 8983);
-        }
-        EmbeddedSolrServerProvider embeddedSolrServerProvider = 
embeddedSolrServerConfiguration.getProvider();
-        SolrServer solrServer = embeddedSolrServerProvider.getSolrServer();
-        if (storageEnabled != null && !storageEnabled) {
-            // change schema.xml and reload the core
-            File schemaXML = new File(solrHome.getAbsolutePath() + 
"/oak/conf", "schema.xml");
-            InputStream inputStream = 
getClass().getResourceAsStream("/solr/oak/conf/schema.xml");
-            String schemaString = 
IOUtils.toString(inputStream).replace("<dynamicField name=\"*\" 
type=\"text_general\" indexed=\"true\" stored=\"true\" multiValued=\"true\"/>",
-                    "<dynamicField name=\"*\" type=\"text_general\" 
indexed=\"true\" stored=\"false\" multiValued=\"true\"/>");
-            FileOutputStream fileOutputStream = new 
FileOutputStream(schemaXML);
-            IOUtils.copy(new StringReader(schemaString), fileOutputStream);
-            fileOutputStream.flush();
-            ((EmbeddedSolrServer) solrServer).getCoreContainer().reload("oak");
-        }
-        return embeddedSolrServerProvider;
-    }
-
     @Override
     protected void afterSuite() throws Exception {
-        SolrServer solrServer = serverProvider.getSolrServer();
+        SolrClient solrServer = serverProvider.getSolrServer();
         if (solrServer != null) {
-            solrServer.shutdown();
+            solrServer.close();
         }
     }
 }

Modified: jackrabbit/oak/branches/1.4/oak-solr-core/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/pom.xml?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-solr-core/pom.xml (original)
+++ jackrabbit/oak/branches/1.4/oak-solr-core/pom.xml Tue Oct 27 12:19:17 2020
@@ -192,6 +192,12 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <scope>provided</scope>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
             <scope>provided</scope>
             <optional>true</optional>
@@ -230,22 +236,16 @@
         <!-- Solr -->
         <dependency>
             <groupId>org.apache.solr</groupId>
-            <artifactId>solr-core</artifactId>
-            <version>${lucene.version}</version>
+            <artifactId>solr-solrj</artifactId>
+            <version>${solr.version}</version>
             <exclusions>
                 <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-jdk14</artifactId>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-alpn-java-client</artifactId>
                 </exclusion>
             </exclusions>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.solr</groupId>
-            <artifactId>solr-solrj</artifactId>
-            <version>${lucene.version}</version>
-            <scope>provided</scope>
-        </dependency>
 
         <dependency>
             <groupId>org.apache.tika</groupId>
@@ -259,13 +259,11 @@
             <artifactId>org.apache.felix.scr.annotations</artifactId>
             <scope>provided</scope>
         </dependency>
-
         <dependency>
             <groupId>biz.aQute.bnd</groupId>
             <artifactId>bndlib</artifactId>
             <scope>provided</scope>
         </dependency>
-
     </dependencies>
 
 </project>

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java
 Tue Oct 27 12:19:17 2020
@@ -39,6 +39,10 @@ public abstract class SolrServerConfigur
         this.type = ((ParameterizedType) 
superclass).getActualTypeArguments()[0];
     }
 
+    public SolrServerConfiguration<S> withHttpConfiguration(String context, 
Integer httpPort) {
+        return this;
+    }
+
     public Type getType() {
         return this.type;
     }

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java
 Tue Oct 27 12:19:17 2020
@@ -20,7 +20,6 @@ import javax.annotation.Nonnull;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
-import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.RemoteSolrServerConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationDefaults;
@@ -68,10 +67,10 @@ public class NodeStateSolrServerConfigur
             Integer httpPort = 
Integer.valueOf(getStringValueFor(Properties.HTTP_PORT, "0"));
 
             if (context != null && httpPort > 0) {
-                return (SolrServerConfiguration) new 
EmbeddedSolrServerConfiguration(solrHomePath, coreName)
+                return createEmbeddedSolrServerConfiguration(solrHomePath, 
coreName)
                         .withHttpConfiguration(context, httpPort);
             } else {
-                return (SolrServerConfiguration) new 
EmbeddedSolrServerConfiguration(solrHomePath, coreName);
+                return createEmbeddedSolrServerConfiguration(solrHomePath, 
coreName);
             }
         } else if ("remote".equalsIgnoreCase(type)) {
             String solrZkHost = getStringValueFor(Properties.ZK_HOST, null);
@@ -88,6 +87,16 @@ public class NodeStateSolrServerConfigur
         }
     }
 
+    @SuppressWarnings({"unchecked" })
+    private static SolrServerConfiguration<SolrServerProvider> 
createEmbeddedSolrServerConfiguration(String solrHomePath, String coreName) {
+        try {
+            Class<?> c = 
Class.forName("org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration");
+            return (SolrServerConfiguration<SolrServerProvider>) 
c.getConstructor(String.class, String.class).newInstance(solrHomePath, 
coreName);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
     /**
      * Properties that may be retrieved from the configuration {@link 
org.apache.jackrabbit.oak.spi.state.NodeState}.
      */

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
 Tue Oct 27 12:19:17 2020
@@ -21,7 +21,7 @@ import java.io.IOException;
 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.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
 
 /**
  * {@link 
org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider} using 
configuration stored in a repository
@@ -46,19 +46,19 @@ public class NodeStateSolrServerProvider
     }
 
     @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();
     }
@@ -66,15 +66,15 @@ public class NodeStateSolrServerProvider
     @Override
     public void close() throws IOException {
         try {
-            getSolrServer().shutdown();
+            getSolrServer().close();
         } catch (Exception e) {
             // do nothing
         } try {
-            getIndexingSolrServer().shutdown();
+            getIndexingSolrServer().close();
         } catch (Exception e) {
             // do nothing
         } try {
-            getSearchingSolrServer().shutdown();
+            getSearchingSolrServer().close();
         } catch (Exception e) {
             // do nothing
         }

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java
 Tue Oct 27 12:19:17 2020
@@ -16,25 +16,20 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.solr.configuration.nodestate;
 
-import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
-
+import javax.annotation.Nonnull;
 import org.apache.jackrabbit.oak.api.PropertyState;
-import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration;
 import org.apache.jackrabbit.oak.plugins.index.solr.server.OakSolrServer;
-import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider;
-import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerRegistry;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.DiffObserver;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
-import org.apache.solr.client.solrj.SolrServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * An {@link org.apache.jackrabbit.oak.spi.commit.Observer} looking for 
changes on persisted Solr server configuration nodes.
- * If any change is done there, the related {@link 
org.apache.solr.client.solrj.SolrServer}s are shutdown and unregistered
+ * If any change is done there, the related {@link 
org.apache.solr.client.solrj.SolrClient}s are shutdown and unregistered
  * from the {@link 
org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerRegistry}
  */
 public class NodeStateSolrServersObserver extends DiffObserver {
@@ -50,7 +45,7 @@ public class NodeStateSolrServersObserve
         log.debug("shutting down persisted Solr server");
         NodeStateSolrServerConfigurationProvider 
nodeStateSolrServerConfigurationProvider = new 
NodeStateSolrServerConfigurationProvider(nodeState);
         OakSolrServer oakSolrServer = new 
OakSolrServer(nodeStateSolrServerConfigurationProvider);
-        oakSolrServer.shutdown();
+        oakSolrServer.close();
         log.info("persisted Solr server has been shutdown");
     }
 
@@ -122,7 +117,6 @@ public class NodeStateSolrServersObserve
         }
 
         private boolean isSolrServerNode(String name, NodeState nodeState) {
-            log.info("checking {} in {}", name, nodeState);
             return "server".equals(name) && 
nodeState.hasProperty("solrServerType");
         }
 

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
 Tue Oct 27 12:19:17 2020
@@ -32,7 +32,7 @@ import org.apache.jackrabbit.oak.plugins
 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 @@ class SolrIndexEditor implements IndexEd
      */
     private String path;
 
-    private final SolrServer solrServer;
+    private final SolrClient solrServer;
 
     private final OakSolrConfiguration configuration;
 
@@ -81,7 +81,7 @@ class SolrIndexEditor implements IndexEd
     private static final Parser parser = new AutoDetectParser();
 
     SolrIndexEditor(
-            SolrServer solrServer,
+            SolrClient solrServer,
             OakSolrConfiguration configuration,
             IndexUpdateCallback callback) {
         this.parent = null;
@@ -141,7 +141,7 @@ class SolrIndexEditor implements IndexEd
         }
     }
 
-    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();

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java
 Tue Oct 27 12:19:17 2020
@@ -32,7 +32,7 @@ import org.apache.jackrabbit.oak.plugins
 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.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -68,7 +68,7 @@ public class SolrIndexEditorProvider imp
                     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 +85,7 @@ public class SolrIndexEditorProvider imp
         return definition.hasChildNode("server");
     }
 
-    private SolrIndexEditor getEditor(OakSolrConfiguration configuration, 
SolrServer solrServer,
+    private SolrIndexEditor getEditor(OakSolrConfiguration configuration, 
SolrClient solrServer,
                                       IndexUpdateCallback callback) {
         SolrIndexEditor editor = null;
         try {

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
 Tue Oct 27 12:19:17 2020
@@ -34,7 +34,7 @@ import org.apache.felix.scr.annotations.
 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 @@ public class SolrServerProviderService i
 
     private String serverType;
 
-    private SolrServer cachedSolrServer;
+    private SolrClient cachedSolrServer;
 
     @Activate
     protected void activate(ComponentContext context) throws Exception {
@@ -93,7 +93,7 @@ public class SolrServerProviderService i
     public void close() throws IOException {
         if (cachedSolrServer != null) {
             try {
-                cachedSolrServer.shutdown();
+                cachedSolrServer.close();
             } catch (Exception e) {
                 log.error("could not correctly shutdown Solr {} server {}", 
serverType, cachedSolrServer);
             } finally {
@@ -140,7 +140,7 @@ public class SolrServerProviderService i
 
     @CheckForNull
     @Override
-    public SolrServer getSolrServer() throws Exception {
+    public SolrClient getSolrServer() throws Exception {
         synchronized (solrServerConfigurationProviders) {
             if (cachedSolrServer == null) {
                 cachedSolrServer = getServer();
@@ -151,18 +151,18 @@ public class SolrServerProviderService i
 
     @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) {

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
 Tue Oct 27 12:19:17 2020
@@ -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;
@@ -61,8 +62,8 @@ import org.apache.jackrabbit.oak.spi.que
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
 import org.apache.jackrabbit.oak.spi.query.QueryIndex.FulltextQueryIndex;
 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;
 import org.apache.solr.client.solrj.response.FacetField;
 import org.apache.solr.client.solrj.response.QueryResponse;
@@ -153,7 +154,7 @@ public class SolrQueryIndex implements F
                 match++;
             }
         }
-
+        log.debug("{} matched restrictions for filter {} and configuration 
{}", match, filter, configuration);
 
         return match;
     }
@@ -219,7 +220,7 @@ public class SolrQueryIndex implements F
             String path = plan.getPlanName();
 
             OakSolrConfiguration configuration = getConfiguration(path, root);
-            SolrServer solrServer = getServer(path, root);
+            SolrClient solrServer = getServer(path, root);
             LMSEstimator estimator = getEstimator(path);
 
             AbstractIterator<SolrResultRow> iterator = getIterator(filter, 
plan, parent, parentDepth, configuration,
@@ -239,7 +240,7 @@ public class SolrQueryIndex implements F
         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)) {
@@ -267,7 +268,7 @@ public class SolrQueryIndex implements F
 
     private AbstractIterator<SolrResultRow> 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<SolrResultRow>() {
             public Collection<FacetField> facetFields = new 
LinkedList<FacetField>();
@@ -459,7 +460,7 @@ public class SolrQueryIndex implements F
 
     private void putSpellChecks(SpellCheckResponse spellCheckResponse,
                                 final Deque<SolrResultRow> queue,
-                                Filter filter, OakSolrConfiguration 
configuration, SolrServer solrServer) throws SolrServerException {
+                                Filter filter, OakSolrConfiguration 
configuration, SolrClient solrServer) throws IOException, SolrServerException {
         List<SpellCheckResponse.Suggestion> suggestions = 
spellCheckResponse.getSuggestions();
         Collection<String> alternatives = new 
ArrayList<String>(suggestions.size());
         for (SpellCheckResponse.Suggestion suggestion : suggestions) {
@@ -487,7 +488,7 @@ public class SolrQueryIndex implements F
     }
 
     private void putSuggestions(Set<Map.Entry<String, Object>> suggestEntries, 
final Deque<SolrResultRow> queue,
-                                Filter filter, OakSolrConfiguration 
configuration, SolrServer solrServer) throws SolrServerException {
+            Filter filter, OakSolrConfiguration configuration, SolrClient 
solrServer) throws IOException, SolrServerException {
         Collection<SimpleOrderedMap<Object>> retrievedSuggestions = new 
HashSet<SimpleOrderedMap<Object>>();
         for (Map.Entry<String, Object> suggester : suggestEntries) {
             SimpleOrderedMap<Object> suggestionResponses = ((SimpleOrderedMap) 
suggester.getValue());
@@ -546,9 +547,11 @@ public class SolrQueryIndex implements F
         Collection<String> indexPaths = new 
SolrIndexLookup(rootState).collectIndexNodePaths(filter);
         List<IndexPlan> plans = 
Lists.newArrayListWithCapacity(indexPaths.size());
 
+        log.debug("looking for plans for paths : {}", indexPaths);
         for (String path : indexPaths) {
             OakSolrConfiguration configuration = getConfiguration(path, 
rootState);
-            SolrServer solrServer = getServer(path, rootState);
+            SolrClient solrServer = getServer(path, rootState);
+            log.debug("building plan for server {} and configuration {}", 
solrServer, configuration);
             // only provide the plan if both valid configuration and server 
exist
             if (configuration != null && solrServer != null) {
                 LMSEstimator estimator = getEstimator(path);
@@ -667,13 +670,13 @@ public class SolrQueryIndex implements F
         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<SolrResultRow> it, IndexPlan plan, 
QueryEngineSettings settings,
-                      LMSEstimator estimator, SolrServer solrServer, 
OakSolrConfiguration configuration) {
+                      LMSEstimator estimator, SolrClient solrServer, 
OakSolrConfiguration configuration) {
             this.estimator = estimator;
             this.solrServer = solrServer;
             this.configuration = configuration;
@@ -796,7 +799,7 @@ public class SolrQueryIndex implements F
                     countQuery.setRows(0);
                     try {
                         estimate = 
this.solrServer.query(countQuery).getResults().getNumFound();
-                    } catch (SolrServerException e) {
+                    } catch (Exception e) {
                         log.warn("could not perform count query {}", 
countQuery);
                     }
                     break;

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java
 Tue Oct 27 12:19:17 2020
@@ -20,36 +20,42 @@ import java.io.IOException;
 import javax.annotation.CheckForNull;
 
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationDefaults;
-import org.apache.solr.client.solrj.SolrServer;
-import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
+import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrClient;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
 
 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());
+            solrServer = new HttpSolrClient.Builder()
+                    
.withBaseSolrUrl(SolrServerConfigurationDefaults.LOCAL_BASE_URL + ':' +
+                            SolrServerConfigurationDefaults.HTTP_PORT + 
SolrServerConfigurationDefaults.CONTEXT)
+                    .build();
         }
         return solrServer;
     }
 
     @CheckForNull
     @Override
-    public SolrServer getIndexingSolrServer() throws Exception {
+    public SolrClient getIndexingSolrServer() throws Exception {
         if (indexingSolrServer == null) {
-            indexingSolrServer = new ConcurrentUpdateSolrServer(getUrl(), 
1000, 4);
+            indexingSolrServer = new ConcurrentUpdateSolrClient.Builder(
+                    SolrServerConfigurationDefaults.LOCAL_BASE_URL + ':' +
+                    SolrServerConfigurationDefaults.HTTP_PORT + 
SolrServerConfigurationDefaults.CONTEXT)
+                    .withQueueSize(1000).withThreadCount(4).build();
         }
         return indexingSolrServer;
     }
 
     @CheckForNull
     @Override
-    public SolrServer getSearchingSolrServer() throws Exception {
+    public SolrClient getSearchingSolrServer() throws Exception {
         return getSolrServer();
     }
 
@@ -60,23 +66,23 @@ public class DefaultSolrServerProvider i
     }
 
     @Override
-    public void close() throws IOException {
+    public void close() {
         try {
-            SolrServer solrServer = getSolrServer();
+            SolrClient solrServer = getSolrServer();
             if (solrServer != null) {
-                solrServer.shutdown();
+                solrServer.close();
             }
         } catch (Exception e) {
             // do nothing
         } try {
-            SolrServer indexingSolrServer = getIndexingSolrServer();
+            SolrClient indexingSolrServer = getIndexingSolrServer();
             if (indexingSolrServer != null) {
-                indexingSolrServer.shutdown();
+                indexingSolrServer.close();
             }
         } catch (Exception e) {
             // do nothing
         } try {
-            getSearchingSolrServer().shutdown();
+            getSearchingSolrServer().close();
         } catch (Exception e) {
             // do nothing
         }

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java
 Tue Oct 27 12:19:17 2020
@@ -18,21 +18,18 @@ package org.apache.jackrabbit.oak.plugin
 
 import javax.annotation.Nonnull;
 import java.io.IOException;
-
-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;
-import org.apache.solr.common.SolrException;
 import org.apache.solr.common.util.NamedList;
 
 /**
- * An Oak {@link org.apache.solr.client.solrj.SolrServer}, caching a {@link 
org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider}
- * for dispatching requests to indexing or searching specialized {@link 
org.apache.solr.client.solrj.SolrServer}s.
+ * An Oak {@link org.apache.solr.client.solrj.SolrClient}, caching a {@link 
org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider}
+ * for dispatching requests to indexing or searching specialized {@link 
org.apache.solr.client.solrj.SolrClient}s.
  */
-public class OakSolrServer extends SolrServer {
+public class OakSolrServer extends SolrClient {
 
     private final SolrServerConfiguration solrServerConfiguration;
     private final SolrServerProvider solrServerProvider;
@@ -47,10 +44,10 @@ public class OakSolrServer extends SolrS
     }
 
     @Override
-    public NamedList<Object> request(SolrRequest request) throws 
SolrServerException, IOException {
+    public NamedList<Object> 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,12 +55,12 @@ public class OakSolrServer extends SolrS
         }
     }
 
-    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) {
+            if 
(solrServerConfiguration.getClass().getName().indexOf("EmbeddedSolrServerConfiguration")
 >= 0) {
                 solrServer = solrServerProvider.getSolrServer();
                 // the same Solr server has to be used for both
                 SolrServerRegistry.register(solrServerConfiguration, 
solrServer, SolrServerRegistry.Strategy.INDEXING);
@@ -77,7 +74,15 @@ public class OakSolrServer extends SolrS
     }
 
     @Override
-    public void shutdown() {
+    public String toString() {
+        return "OakSolrServer{" +
+            "solrServerConfiguration=" + solrServerConfiguration +
+            ", solrServerProvider=" + solrServerProvider +
+            '}';
+    }
+
+    @Override
+    public void close() {
         try {
             solrServerProvider.close();
             SolrServerRegistry.unregister(solrServerConfiguration, 
SolrServerRegistry.Strategy.INDEXING);

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java
 Tue Oct 27 12:19:17 2020
@@ -16,19 +16,28 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.solr.server;
 
+import javax.annotation.CheckForNull;
+
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
-import javax.annotation.CheckForNull;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Arrays;
 
+import org.apache.commons.io.IOUtils;
+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.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.CloudSolrServer;
-import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
-import org.apache.solr.client.solrj.request.UpdateRequest;
+import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrClient;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.request.CollectionAdminRequest;
+import org.apache.solr.client.solrj.response.CollectionAdminResponse;
 import org.apache.solr.client.solrj.response.SolrPingResponse;
-import org.apache.solr.cloud.ZkController;
 import org.apache.solr.common.cloud.SolrZkClient;
 import org.apache.solr.common.cloud.ZkStateReader;
 import org.slf4j.Logger;
@@ -49,9 +58,9 @@ public class RemoteSolrServerProvider im
 
     @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();
@@ -76,39 +85,46 @@ public class RemoteSolrServerProvider im
 
     @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();
-            server = new ConcurrentUpdateSolrServer(url, 1000, 
Runtime.getRuntime().availableProcessors());
+        if (server instanceof HttpSolrClient) {
+            String url = ((HttpSolrClient) server).getBaseURL();
+            ConcurrentUpdateSolrClient s1 = new 
ConcurrentUpdateSolrClient.Builder(
+                    
url).withQueueSize(1000).withThreadCount(Runtime.getRuntime().availableProcessors()).build();
+            server = s1;
         }
         return server;
     }
 
     @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]);
+        HttpSolrClient httpSolrServer = new 
HttpSolrClient.Builder(remoteSolrServerConfiguration.getSolrHttpUrls()[0]).build();
         SolrPingResponse ping = httpSolrServer.ping();
         if (ping != null && 0 == ping.getStatus()) {
             return httpSolrServer;
         } else {
+            httpSolrServer.close();
             throw new IOException("the found HTTP Solr server is not alive");
         }
 
     }
 
-    private SolrServer initializeWithCloudSolrServer() throws IOException {
+    private SolrClient initializeWithCloudSolrServer() throws IOException {
         // try SolrCloud client
-        CloudSolrServer cloudSolrServer = new 
CloudSolrServer(remoteSolrServerConfiguration.getSolrZkHost());
-        cloudSolrServer.setZkConnectTimeout(100);
+        CloudSolrClient cloudSolrServer = new 
CloudSolrClient.Builder().withZkHost(Arrays.asList(
+                    
remoteSolrServerConfiguration.getSolrZkHost().split(","))).build();
+
+        
cloudSolrServer.setIdField(OakSolrConfigurationDefaults.PATH_FIELD_NAME);
+
         if (connectToZK(cloudSolrServer)) {
+            log.debug("CloudSolrServer connected");
             cloudSolrServer.setDefaultCollection("collection1"); // workaround 
for first request when the needed collection may not exist
 
             // create specified collection if it doesn't exists
@@ -119,9 +135,9 @@ public class RemoteSolrServerProvider im
                     log.warn("could not create the collection on {}", 
remoteSolrServerConfiguration.getSolrZkHost(), t);
                 }
             }
-
             
cloudSolrServer.setDefaultCollection(remoteSolrServerConfiguration.getSolrCollection());
 
+            log.debug("waiting for CloudSolrServer to come alive");
             // SolrCloud may need some time to sync on collection creation (to 
spread it over the shards / replicas)
             int i = 0;
             while (i < 3) {
@@ -130,6 +146,7 @@ public class RemoteSolrServerProvider im
                     if (ping != null && 0 == ping.getStatus()) {
                         return cloudSolrServer;
                     } else {
+                        cloudSolrServer.close();
                         throw new IOException("the found SolrCloud server is 
not alive");
                     }
                 } catch (Exception e) {
@@ -145,14 +162,17 @@ public class RemoteSolrServerProvider im
                 }
                 i++;
             }
+            cloudSolrServer.close();
             throw new IOException("the found SolrCloud server is not alive");
         } else {
+            cloudSolrServer.close();
             throw new IOException("could not connect to Zookeeper hosted at " 
+ remoteSolrServerConfiguration.getSolrZkHost());
         }
 
     }
 
-    private boolean connectToZK(CloudSolrServer cloudSolrServer) {
+    private boolean connectToZK(CloudSolrClient cloudSolrServer) {
+        log.debug("connecting to {}", cloudSolrServer.getZkHost());
         boolean connected = false;
         for (int i = 0; i < 3; i++) {
             try {
@@ -171,26 +191,38 @@ public class RemoteSolrServerProvider im
         return connected;
     }
 
-    private void createCollectionIfNeeded(CloudSolrServer cloudSolrServer) 
throws SolrServerException {
+    private void createCollectionIfNeeded(CloudSolrClient cloudSolrServer) 
throws SolrServerException {
         String solrCollection = 
remoteSolrServerConfiguration.getSolrCollection();
+        ZkStateReader zkStateReader = cloudSolrServer.getZkStateReader();
+        SolrZkClient zkClient = zkStateReader.getZkClient();
+        log.debug("creating {} collection if needed", solrCollection);
         try {
-            ZkStateReader zkStateReader = cloudSolrServer.getZkStateReader();
-            SolrZkClient zkClient = zkStateReader.getZkClient();
-            if (zkClient.isConnected() && !zkClient.exists("/configs/" + 
solrCollection, false)) {
+            if (zkClient.isConnected() && !zkClient.exists("/configs/" + 
solrCollection, true)) {
                 String solrConfDir = 
remoteSolrServerConfiguration.getSolrConfDir();
-                File dir;
+                Path dir;
                 if (solrConfDir != null && solrConfDir.length() > 0) {
-                    dir = new File(solrConfDir);
+                    log.info("uploading config from {}", solrConfDir);
+                    dir = Paths.get(solrConfDir);
                 } else {
-                    dir = new 
File(getClass().getResource("/solr/oak/conf").getFile());
+                    Path tempDirectory = 
Files.createTempDirectory("oak-solr-conf");
+
+                    copy("schema", tempDirectory);
+                    copy("solrconfig", tempDirectory);
+
+                    log.info("uploading config from {}", tempDirectory);
+                    dir = tempDirectory;
                 }
-                ZkController.uploadConfigDir(zkClient, dir, solrCollection);
-                UpdateRequest req = new UpdateRequest("/admin/collections");
-                req.setParam("action", "CREATE");
-                req.setParam("numShards", 
String.valueOf(remoteSolrServerConfiguration.getSolrShardsNo()));
-                req.setParam("replicationFactor", 
String.valueOf(remoteSolrServerConfiguration.getSolrReplicationFactor()));
-                req.setParam("collection.configName", solrCollection);
-                req.setParam("name", solrCollection);
+                log.debug("uploading config from {}", dir);
+                zkClient.upConfig(dir, solrCollection);
+
+                log.debug("creating collection {}", solrCollection);
+
+                CollectionAdminRequest.Create req = 
CollectionAdminRequest.Create.createCollection(solrCollection,
+                        
remoteSolrServerConfiguration.getSolrShardsNo(),remoteSolrServerConfiguration.getSolrReplicationFactor());
+                CollectionAdminResponse response = 
req.process(cloudSolrServer);
+
+                log.info("collection creation response {}", response);
+
                 cloudSolrServer.request(req);
             }
         } catch (Exception e) {
@@ -199,6 +231,18 @@ public class RemoteSolrServerProvider im
         }
     }
 
+    private void copy(String name, Path tempDirectory) throws IOException {
+        InputStream inputStream = 
getClass().getResourceAsStream("/solr/oak/conf/" + name + ".xml");
+        File dir = tempDirectory.toFile();
+        File newFile = new File(dir, name+".xml");
+        assert newFile.createNewFile();
+        FileOutputStream outputStream = new FileOutputStream(newFile);
+        IOUtils.copy(inputStream, outputStream);
+        inputStream.close();
+        outputStream.flush();
+        outputStream.close();
+    }
+
     @Override
     public void close() throws IOException {
         // do nothing

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java
 Tue Oct 27 12:19:17 2020
@@ -19,7 +19,7 @@ package org.apache.jackrabbit.oak.plugin
 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
@@ -34,7 +34,7 @@ public interface SolrServerProvider exte
      * @throws Exception if anything goes wrong while initializing the {@link 
org.apache.solr.client.solrj.SolrServer}
      */
     @CheckForNull
-    SolrServer getSolrServer() throws Exception;
+    SolrClient getSolrServer() throws Exception;
 
     /**
      * provides an already initialized {@link 
org.apache.solr.client.solrj.SolrServer} specifically configured to be
@@ -44,7 +44,7 @@ public interface SolrServerProvider exte
      * @throws Exception if anything goes wrong while initializing the {@link 
org.apache.solr.client.solrj.SolrServer}
      */
     @CheckForNull
-    SolrServer getIndexingSolrServer() throws Exception;
+    SolrClient getIndexingSolrServer() throws Exception;
 
     /**
      * provides an already initialized {@link 
org.apache.solr.client.solrj.SolrServer} specifically configured to be
@@ -54,5 +54,5 @@ public interface SolrServerProvider exte
      * @throws Exception if anything goes wrong while initializing the {@link 
org.apache.solr.client.solrj.SolrServer}
      */
     @CheckForNull
-    SolrServer getSearchingSolrServer() throws Exception;
+    SolrClient getSearchingSolrServer() throws Exception;
 }

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java
 Tue Oct 27 12:19:17 2020
@@ -22,17 +22,17 @@ import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
 
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
 
 /**
  * A registry for {@link org.apache.solr.client.solrj.SolrServer}s
  */
 public class SolrServerRegistry {
 
-    private static final Map<String, SolrServer> searchingServerRegistry = new 
HashMap<String, SolrServer>();
-    private static final Map<String, SolrServer> indexingServerRegistry = new 
HashMap<String, SolrServer>();
+    private static final Map<String, SolrClient> searchingServerRegistry = new 
HashMap<String, SolrClient>();
+    private static final Map<String, SolrClient> indexingServerRegistry = new 
HashMap<String, SolrClient>();
 
-    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 +49,7 @@ public class SolrServerRegistry {
     }
 
     @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,9 +67,9 @@ public class SolrServerRegistry {
         switch (strategy) {
             case INDEXING:
                 synchronized (indexingServerRegistry) {
-                    SolrServer removed = 
indexingServerRegistry.remove(configuration.toString());
+                    SolrClient removed = 
indexingServerRegistry.remove(configuration.toString());
                     try {
-                        removed.shutdown();
+                        removed.close();
                     } catch (Exception e) {
                         // ignore
                     }
@@ -77,9 +77,9 @@ public class SolrServerRegistry {
                 break;
             case SEARCHING:
                 synchronized (searchingServerRegistry) {
-                    SolrServer removed = 
searchingServerRegistry.remove(configuration.toString());
+                    SolrClient removed = 
searchingServerRegistry.remove(configuration.toString());
                     try {
-                        removed.shutdown();
+                        removed.close();
                     } catch (Exception e) {
                         // ignore
                     }

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
 Tue Oct 27 12:19:17 2020
@@ -33,7 +33,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.spi.commit.EditorHook;
 import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
 import org.junit.After;
 import org.junit.Before;
 
@@ -44,7 +44,7 @@ public abstract class SolrBaseTest {
 
     protected NodeStore store;
     protected TestUtils provider;
-    protected SolrServer server;
+    protected SolrClient server;
     protected OakSolrConfiguration configuration;
     protected EditorHook hook;
     private ContentRepository repository;

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
 Tue Oct 27 12:19:17 2020
@@ -23,12 +23,10 @@ import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
 
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.DefaultSolrConfiguration;
-import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfiguration;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfigurationProvider;
-import 
org.apache.jackrabbit.oak.plugins.index.solr.server.EmbeddedSolrServerProvider;
 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 static org.junit.Assert.assertTrue;
 
@@ -40,15 +38,8 @@ public class TestUtils
 
     static final String SOLR_HOME_PATH = "/solr";
 
-    public static SolrServer createSolrServer() {
-        EmbeddedSolrServerConfiguration configuration = new 
EmbeddedSolrServerConfiguration(
-                TestUtils.class.getResource(SOLR_HOME_PATH).getFile(), "oak");
-        EmbeddedSolrServerProvider provider = new 
EmbeddedSolrServerProvider(configuration);
-        try {
-            return provider.getSolrServer();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+    public static SolrClient createSolrServer() {
+        throw new UnsupportedOperationException();
     }
 
     public static void cleanDataDir() {
@@ -84,25 +75,25 @@ public class TestUtils
         };
     }
 
-    private final SolrServer solrServer = createSolrServer();
+    private final SolrClient solrServer = createSolrServer();
 
     private final OakSolrConfiguration configuration = getTestConfiguration();
 
     @CheckForNull
     @Override
-    public SolrServer getSolrServer() {
+    public SolrClient getSolrServer() {
         return solrServer;
     }
 
     @CheckForNull
     @Override
-    public SolrServer getIndexingSolrServer() throws Exception {
+    public SolrClient getIndexingSolrServer() throws Exception {
         return solrServer;
     }
 
     @CheckForNull
     @Override
-    public SolrServer getSearchingSolrServer() throws Exception {
+    public SolrClient getSearchingSolrServer() throws Exception {
         return solrServer;
     }
 

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/DefaultAnalyzersConfigurationTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/DefaultAnalyzersConfigurationTest.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/DefaultAnalyzersConfigurationTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/DefaultAnalyzersConfigurationTest.java
 Tue Oct 27 12:19:17 2020
@@ -32,6 +32,7 @@ import org.apache.lucene.analysis.patter
 import org.apache.lucene.analysis.reverse.ReverseStringFilter;
 import org.apache.lucene.util.Version;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import static 
org.apache.lucene.analysis.BaseTokenStreamTestCase.assertAnalyzesTo;
@@ -192,6 +193,7 @@ public class DefaultAnalyzersConfigurati
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testAllChildrenPathMatching() throws Exception {
         String nodePath = "/jcr:a/jcr:b/c";
         String descendantPath = nodePath + "/d/jcr:e";
@@ -206,6 +208,7 @@ public class DefaultAnalyzersConfigurati
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testAllChildrenPathMatchingOnRootNode() throws Exception {
         String nodePath = "/";
         String descendantPath = nodePath + "jcr:a/jcr:b";
@@ -213,6 +216,7 @@ public class DefaultAnalyzersConfigurati
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testDirectChildrenPathMatching() throws Exception {
         String nodePath = "/a/b/c";
         String childPath = nodePath + "/d";
@@ -234,6 +238,7 @@ public class DefaultAnalyzersConfigurati
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testParentPathMatching() throws Exception {
         String parentPath = "/a/b";
         String nodePath = parentPath + "/jcr:c";

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationTest.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationTest.java
 Tue Oct 27 12:19:17 2020
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.solr.configuration;
 
-import 
org.apache.jackrabbit.oak.plugins.index.solr.server.EmbeddedSolrServerProvider;
 import 
org.apache.jackrabbit.oak.plugins.index.solr.server.RemoteSolrServerProvider;
 import org.junit.Test;
 
@@ -34,10 +33,4 @@ public class SolrServerConfigurationTest
         assertNotNull(remoteSolrServerProvider);
     }
 
-    @Test
-    public void testCreteEmbeddedServerFromConfig() throws Exception {
-        SolrServerConfiguration<EmbeddedSolrServerProvider> 
embeddedSolrServerSolrServerConfiguration = new 
EmbeddedSolrServerConfiguration(null, null);
-        EmbeddedSolrServerProvider embeddedSolrServerProvider = 
embeddedSolrServerSolrServerConfiguration.getProvider();
-        assertNotNull(embeddedSolrServerProvider);
-    }
 }

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorIT.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorIT.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorIT.java
 Tue Oct 27 12:19:17 2020
@@ -20,6 +20,7 @@ import org.apache.jackrabbit.oak.api.Roo
 import org.apache.jackrabbit.oak.plugins.index.solr.SolrBaseTest;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.response.QueryResponse;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
@@ -27,6 +28,7 @@ import static org.junit.Assert.assertTru
 /**
  * Integration test for {@link SolrIndexEditor}
  */
+@Ignore("OAK-9261")
 public class SolrIndexEditorIT extends SolrBaseTest {
 
     @Test

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorTest.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorTest.java
 Tue Oct 27 12:19:17 2020
@@ -30,9 +30,10 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
 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.SolrQuery;
-import org.apache.solr.client.solrj.SolrServer;
 import org.apache.solr.client.solrj.response.QueryResponse;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -45,8 +46,9 @@ import static org.mockito.Mockito.when;
 public class SolrIndexEditorTest {
 
     @Test
+    @Ignore("OAK-9261")
     public void testIndexedProperties() throws Exception {
-        SolrServer solrServer = TestUtils.createSolrServer();
+        SolrClient solrServer = TestUtils.createSolrServer();
         OakSolrConfiguration configuration = TestUtils.getTestConfiguration();
         IndexUpdateCallback callback = mock(IndexUpdateCallback.class);
         SolrIndexEditor solrIndexEditor = new SolrIndexEditor(solrServer, 
configuration, callback);
@@ -65,9 +67,10 @@ public class SolrIndexEditorTest {
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testIgnoredPropertiesNotIndexed() throws Exception {
         NodeBuilder builder = mock(NodeBuilder.class);
-        SolrServer solrServer = TestUtils.createSolrServer();
+        SolrClient solrServer = TestUtils.createSolrServer();
         OakSolrConfiguration configuration = new DefaultSolrConfiguration() {
             @Nonnull
             @Override

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexIT.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexIT.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexIT.java
 Tue Oct 27 12:19:17 2020
@@ -92,6 +92,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void sql2FullText() throws Exception {
         test("sql2-fulltext.txt");
     }
@@ -184,6 +185,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testNativeSolrQuery() throws Exception {
         String nativeQueryString = "select [jcr:path] from [nt:base] where 
native('solr', 'name:(Hello OR World)')";
 
@@ -203,6 +205,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testNativeSolrFunctionQuery() throws Exception {
         String nativeQueryString = "select [jcr:path] from [nt:base] where 
native('solr', 'path_child:\\/test  _val_:\"recip(rord(name),1,2,3)\"')";
 
@@ -222,6 +225,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testNativeSolrLocalParams() throws Exception {
         String nativeQueryString = "select [jcr:path] from [nt:base] where 
native('solr', '_query_:\"{!dismax qf=catch_all q.op=OR}hello world\"')";
 
@@ -241,6 +245,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testNativeMLTQuery() throws Exception {
         // TODO: OAK-1819
         assumeTrue(!System.getProperty("java.version").startsWith("1.8"));
@@ -263,6 +268,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testNativeMLTQueryWithStream() throws Exception {
         // TODO: OAK-1819
         assumeTrue(!System.getProperty("java.version").startsWith("1.8"));
@@ -285,6 +291,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testRepSimilarXPathQuery() throws Exception {
         String query = "//element(*, nt:base)[rep:similar(., '/test/a')]";
         Tree test = root.getTree("/").addChild("test");
@@ -318,11 +325,13 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void nativeSolr() throws Exception {
         test("native_solr.txt");
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testTokenizeCN() throws Exception {
         Tree t = root.getTree("/").addChild("containsCN");
         Tree one = t.addChild("one");
@@ -332,6 +341,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testCompositeRepExcerpt() throws Exception {
         String sqlQuery = "select [jcr:path], [jcr:score], [rep:excerpt] from 
[nt:base] as a " +
                 "where (contains([jcr:content/*], 'square') or 
contains([jcr:content/jcr:title], 'square')" +
@@ -355,6 +365,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void contains() throws Exception {
         String h = "Hello" + System.currentTimeMillis();
         String w = "World" + System.currentTimeMillis();
@@ -396,6 +407,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void multiPhraseQuery() throws Exception {
         Tree test = root.getTree("/").addChild("test");
         test.addChild("a").setProperty("dc:format", "type:application/pdf");
@@ -408,6 +420,32 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
+    public void testFulltextOperators() throws Exception {
+        Tree test = root.getTree("/").addChild("test");
+        test.addChild("a").setProperty("text", "the lazy fox jumped over the 
brown dog");
+        test.addChild("b").setProperty("text", "the lazy bones raised to eat a 
dog");
+        root.commit();
+
+        assertQuery(
+            "/jcr:root//*[jcr:contains(., 'lazy AND brown')]",
+            "xpath", ImmutableList.of("/test/a"));
+
+        assertQuery(
+            "/jcr:root//*[jcr:contains(., 'lazy OR eat')]",
+            "xpath", ImmutableList.of("/test/a", "/test/b"));
+
+        assertQuery(
+            "/jcr:root//*[jcr:contains(., 'lazy AND bones')]",
+            "xpath", ImmutableList.of("/test/b"));
+
+        assertQuery(
+            "/jcr:root//*[jcr:contains(., 'lazy OR dog')]",
+            "xpath", ImmutableList.of("/test/a", "/test/b"));
+    }
+
+    @Test
+    @Ignore("OAK-9261")
     public void containsPath() throws Exception {
 
         Tree test = root.getTree("/").addChild("test");
@@ -419,6 +457,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void containsPathNum() throws Exception {
 
         Tree test = root.getTree("/").addChild("test");
@@ -434,6 +473,7 @@ public class SolrIndexIT extends Abstrac
      * OAK-1208 property existence constraints break queries
      */
     @Test
+    @Ignore("OAK-9261")
     public void testOAK1208() throws Exception {
         Tree t = root.getTree("/").addChild("containsWithMultipleOr");
         Tree one = t.addChild("one");
@@ -501,6 +541,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testOrderByJcrScore() throws Exception {
         Tree index = root.getTree("/oak:index/" + TEST_INDEX_NAME);
         assertTrue(index.exists());
@@ -528,6 +569,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testOrderByMVProperty() throws Exception {
         Tree index = root.getTree("/oak:index/" + TEST_INDEX_NAME);
         assertTrue(index.exists());
@@ -593,6 +635,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testCollapsedJcrContentNodeDescandants() throws Exception {
 
         Tree index = root.getTree("/oak:index/" + TEST_INDEX_NAME);
@@ -623,6 +666,7 @@ public class SolrIndexIT extends Abstrac
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testNotNullAndNative() throws Exception {
         Tree index = root.getTree("/oak:index/" + TEST_INDEX_NAME);
         assertTrue(index.exists());

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java
 Tue Oct 27 12:19:17 2020
@@ -38,12 +38,13 @@ import org.apache.jackrabbit.oak.spi.que
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 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.response.QueryResponse;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.common.params.SolrParams;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.apache.jackrabbit.JcrConstants.JCR_PRIMARYTYPE;
@@ -116,6 +117,7 @@ public class SolrQueryIndexTest {
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testPlanWithPropertyAndPathRestrictionsEnabled() throws 
Exception {
         NodeBuilder builder = nodeState.builder();
         builder.child("oak:index").child("solr")
@@ -149,6 +151,7 @@ public class SolrQueryIndexTest {
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testPlanWithPropertyRestrictionsEnabled() throws Exception {
         NodeBuilder builder = nodeState.builder();
         builder.child("oak:index").child("solr")
@@ -180,6 +183,7 @@ public class SolrQueryIndexTest {
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testNoPlanWithOnlyPrimaryTypeRestrictionsEnabled() throws 
Exception {
         NodeBuilder builder = nodeState.builder();
         builder.child("oak:index").child("solr").setProperty("primaryTypes", 
true);
@@ -197,6 +201,7 @@ public class SolrQueryIndexTest {
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testPlanWithPropertyAndPrimaryTypeRestrictionsEnabled() throws 
Exception {
         NodeBuilder builder = nodeState.builder();
         builder.child("oak:index").child("solr")
@@ -255,6 +260,7 @@ public class SolrQueryIndexTest {
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void testPlanWithPropertyRestrictionsEnabledAndUsedProperty() 
throws Exception {
         NodeBuilder builder = nodeState.builder();
         builder.child("oak:index").child("solr")
@@ -346,7 +352,7 @@ public class SolrQueryIndexTest {
         SelectorImpl selector = new SelectorImpl(root, "a");
         String sqlQuery = "select [jcr:path], [jcr:score] from [nt:base] as a 
where" +
                 " contains([jcr:content/*], 'founded')";
-        SolrServer solrServer = mock(SolrServer.class);
+        SolrClient solrServer = mock(SolrClient.class);
         SolrServerProvider solrServerProvider = mock(SolrServerProvider.class);
         
when(solrServerProvider.getSearchingSolrServer()).thenReturn(solrServer);
         OakSolrConfigurationProvider configurationProvider = 
mock(OakSolrConfigurationProvider.class);
@@ -394,7 +400,7 @@ public class SolrQueryIndexTest {
         String query = "select * from [nt:base] as a where 
native('solr','select?q=searchKeywords:\"foo\"^20 text:\"foo\"^1 " +
                 "description:\"foo\"^8 something:\"foo\"^3 headline:\"foo\"^5 
title:\"foo\"^10 &q.op=OR'";
         String sqlQuery = "select * from [nt:base] a where native('solr','" + 
query + "'";
-        SolrServer solrServer = mock(SolrServer.class);
+        SolrClient solrServer = mock(SolrClient.class);
         SolrServerProvider solrServerProvider = mock(SolrServerProvider.class);
         
when(solrServerProvider.getSearchingSolrServer()).thenReturn(solrServer);
         OakSolrConfigurationProvider configurationProvider = 
mock(OakSolrConfigurationProvider.class);

Modified: 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SubtreeSolrIndexIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SubtreeSolrIndexIT.java?rev=1882912&r1=1882911&r2=1882912&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SubtreeSolrIndexIT.java
 (original)
+++ 
jackrabbit/oak/branches/1.4/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SubtreeSolrIndexIT.java
 Tue Oct 27 12:19:17 2020
@@ -30,6 +30,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
 import org.apache.jackrabbit.oak.query.AbstractQueryTest;
 import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TestName;
@@ -78,6 +79,7 @@ public class SubtreeSolrIndexIT extends
     }
 
     @Test
+    @Ignore("OAK-9261")
     public void test() throws Exception {
 
         Tree content = root.getTree("/").getChild(SUBTREE);


Reply via email to