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);