Author: tommaso
Date: Mon Mar 17 12:37:47 2014
New Revision: 1578342
URL: http://svn.apache.org/r1578342
Log:
OAK-1551 - EmbeddedSolrServerProvider stops the SolrRunner at
SolrServer#shutdown, minor deployment fixes
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
jackrabbit/oak/trunk/oak-solr-osgi/pom.xml
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
Mon Mar 17 12:37:47 2014
@@ -73,7 +73,10 @@ public class EmbeddedSolrServerConfigura
solrConfigFile =
String.valueOf(componentContext.getProperties().get(SOLR_CONFIG_FILE));
solrCoreName =
String.valueOf(componentContext.getProperties().get(SOLR_CORE_NAME));
- solrHttpPort =
Integer.valueOf(String.valueOf(componentContext.getProperties().get(SOLR_HTTP_PORT)));
+ String httpPort =
String.valueOf(componentContext.getProperties().get(SOLR_HTTP_PORT));
+ if (httpPort != null && httpPort.length() > 0) {
+ solrHttpPort = Integer.valueOf(httpPort);
+ }
solrContext =
String.valueOf(componentContext.getProperties().get(SOLR_CONTEXT));
solrServerConfiguration = new
EmbeddedSolrServerConfiguration(solrHome, solrConfigFile, solrCoreName).
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
Mon Mar 17 12:37:47 2014
@@ -112,12 +112,14 @@ public class SolrServerProviderService i
if (cachedSolrServer == null) {
if (serverType != null && !"none".equals(serverType)) {
SolrServerConfigurationProvider
solrServerConfigurationProvider =
solrServerConfigurationProviders.get(serverType);
- try {
- SolrServerConfiguration solrServerConfiguration =
solrServerConfigurationProvider.getSolrServerConfiguration();
- SolrServerProvider solrServerProvider =
solrServerConfiguration.getProvider();
- cachedSolrServer = solrServerProvider.getSolrServer();
- } catch (Exception e) {
- log.error("could not get a SolrServerProvider of type
{}, {}", serverType, e);
+ if (solrServerConfigurationProvider != null) {
+ try {
+ SolrServerConfiguration solrServerConfiguration =
solrServerConfigurationProvider.getSolrServerConfiguration();
+ SolrServerProvider solrServerProvider =
solrServerConfiguration.getProvider();
+ cachedSolrServer =
solrServerProvider.getSolrServer();
+ } catch (Exception e) {
+ log.error("could not get a SolrServerProvider of
type {}", serverType, e);
+ }
}
}
}
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
Mon Mar 17 12:37:47 2014
@@ -99,11 +99,7 @@ public class EmbeddedSolrServerProvider
if (log.isInfoEnabled()) {
log.info("starting HTTP Solr server");
}
- return new HttpSolrServer(new StringBuilder(
-
SolrServerConfigurationDefaults.LOCAL_BASE_URL).append(':')
- .append(httpPort).append(context)
- .append('/').append(coreName)
- .toString());
+ return new
HttpWithJettySolrServer(SolrServerConfigurationDefaults.LOCAL_BASE_URL + ':' +
httpPort + context + '/' + coreName, jettySolrRunner);
} else {
ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(CoreContainer.class.getClassLoader());
@@ -147,7 +143,7 @@ public class EmbeddedSolrServerProvider
copy("/solr/oak/conf/solrconfig.xml", coreDir);
}
} else if (!solrHomePathFile.isDirectory()) {
- throw new IOException("a non directory file with the specified
name already exists for the given solrHomePath '"+solrHomePath);
+ throw new IOException("a non directory file with the specified
name already exists for the given solrHomePath '" + solrHomePath);
}
// TODO : improve this check
@@ -211,4 +207,26 @@ public class EmbeddedSolrServerProvider
return solrServer;
}
+ private class HttpWithJettySolrServer extends HttpSolrServer {
+ private final JettySolrRunner jettySolrRunner;
+
+ public HttpWithJettySolrServer(String s, JettySolrRunner
jettySolrRunner) {
+ super(s);
+ this.jettySolrRunner = jettySolrRunner;
+ }
+
+ @Override
+ public void shutdown() {
+ super.shutdown();
+ try {
+ if (jettySolrRunner != null) {
+ if (jettySolrRunner.isRunning()) {
+ jettySolrRunner.stop();
+ }
+ }
+ } catch (Exception e) {
+ log.warn("could not stop JettySolrRunner {}", jettySolrRunner);
+ }
+ }
+ }
}
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
Mon Mar 17 12:37:47 2014
@@ -119,8 +119,6 @@
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
<dynamicField name="*_ds" type="double" indexed="true" stored="true"
multiValued="true"/>
- <dynamicField name="*_coordinate" type="tdouble" indexed="true"
stored="false" />
-
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
<dynamicField name="*_dts" type="date" indexed="true" stored="true"
multiValued="true"/>
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
Mon Mar 17 12:37:47 2014
@@ -1541,31 +1541,6 @@
</requestHandler>
- <!-- Query Elevation Component
-
- http://wiki.apache.org/solr/QueryElevationComponent
-
- a search component that enables you to configure the top
- results for a given query regardless of the normal lucene
- scoring.
- -->
- <searchComponent name="elevator" class="solr.QueryElevationComponent" >
- <!-- pick a fieldType to analyze queries -->
- <str name="queryFieldType">string</str>
- <str name="config-file">elevate.xml</str>
- </searchComponent>
-
- <!-- A request handler for demonstrating the elevator component -->
- <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
- <lst name="defaults">
- <str name="echoParams">explicit</str>
- <str name="df">text</str>
- </lst>
- <arr name="last-components">
- <str>elevator</str>
- </arr>
- </requestHandler>
-
<!-- Highlighting Component
http://wiki.apache.org/solr/HighlightingParameters
Modified: jackrabbit/oak/trunk/oak-solr-osgi/pom.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-osgi/pom.xml?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-osgi/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-solr-osgi/pom.xml Mon Mar 17 12:37:47 2014
@@ -43,7 +43,7 @@
org.apache.lucene.*;resolution:=optional,
com.carrotsearch.*;resolution:=optional,
com.googlecode.*;resolution:=optional,
- com.spatial4j.*;resolution:=optional,
+ com.vividsolutions.jts.*;resolution:=optional,
com.sun.*;resolution:=optional,
jline;resolution:=optional,
org.apache.hadoop.*;resolution:=optional,
@@ -192,6 +192,19 @@
<version>${lucene.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-spatial</artifactId>
+ <version>${lucene.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.spatial4j</groupId>
+ <artifactId>spatial4j</artifactId>
+ <version>0.3</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>commons-lang</groupId>