Author: tommaso
Date: Thu Feb 1 15:47:58 2018
New Revision: 1822884
URL: http://svn.apache.org/viewvc?rev=1822884&view=rev
Log:
OAK-4318,OAK-7178,OAK-6646 - upgrade Solr to 5.5.5 and minor fixes
Removed:
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/resources/solr/oak/conf/currency.xml
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/resources/solr/oak/conf/currency.xml
Modified:
jackrabbit/oak/branches/1.6/ (props changed)
jackrabbit/oak/branches/1.6/oak-parent/pom.xml
jackrabbit/oak/branches/1.6/oak-solr-core/pom.xml
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrConfigurationDefaults.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/RemoteSolrServerConfiguration.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationDefaults.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/RemoteSolrServerConfigurationProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/jcr/SolrOakRepositoryStub.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/DefaultAnalyzersConfigurationTest.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationTest.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorTest.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndexTest.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProviderTest.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProviderIT.java
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/resources/solr/oak/conf/schema.xml
jackrabbit/oak/branches/1.6/oak-solr-core/src/test/resources/solr/oak/conf/solrconfig.xml
jackrabbit/oak/branches/1.6/oak-solr-osgi/pom.xml
Propchange: jackrabbit/oak/branches/1.6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 1 15:47:58 2018
@@ -1,3 +1,3 @@
/jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1781068,1781075,1781248,1781386,1781846,1781907,1782000,1782029,1782196,1782447,1782476,1782770,1782945,1782966,1782973,1782990,1783061,1783066,1783089,1783104-1783105,1783110,1783619,1783720,1783731,1783733,1783738,1783742,1783773,1783855,1783891,1784023,1784034,1784130,1784162,1784251,1784401,1784551,1784574,1784689,1785095,1785108,1785283,1785838,1785917,1785919,1785946,1786122,1787074,1787145,1787151,1787217,1787425,1788056,1788378,1788387-1788389,1788463,1788476,1788850,1789056,1789534,1790382,1790502-1790503,1792049,1792463,1792483,1792742,1792746,1793013,1793088,1793618,1793627,1793644,1794393,1794417,1794683,1795138,1795314,1795330,1795475,1795488,1795491,1795502,1795594,1795613,1795618,1796144,1796230,1796239,1796274,1796278,1796988,1797378,1798035,1798834,1799219,1799389,1799393,1799924,1800244,1800269,1800606,1800613,1800974,1801011,1801013,1801118-1801119,1801675,1802260,1802262,1802286,1802548,1802934,1802938,1802973,1803026,1803247-1803249,1803951
,1803953-1803955,1805851-1805852,1806668,1807308,1807688,1808125,1808128,1808142,1808240,1808246,1809024,1809026,1809131,1809163,1809253,1809255-1809256,1809289,1809745,1811071-1811072,1811155,1811380,1811655,1811952,1811963,1811986,1813192,1814189,1814332,1814397,1815201,1815426,1815438,1815926,1817326,1818645,1819048,1819050,1821325,1821358,1821516
+/jackrabbit/oak/trunk:1781068,1781075,1781248,1781386,1781846,1781907,1782000,1782029,1782196,1782447,1782476,1782770,1782945,1782966,1782973,1782990,1783061,1783066,1783089,1783104-1783105,1783110,1783619,1783720,1783731,1783733,1783738,1783742,1783773,1783855,1783891,1784023,1784034,1784130,1784162,1784251,1784401,1784551,1784574,1784689,1785095,1785108,1785283,1785838,1785917,1785919,1785946,1786122,1787074,1787145,1787151,1787217,1787425,1788056,1788378,1788387-1788389,1788463,1788476,1788850,1789056,1789534,1790382,1790502-1790503,1792049,1792463,1792483,1792742,1792746,1793013,1793088,1793618,1793627,1793644,1794393,1794417,1794683,1795138,1795314,1795330,1795475,1795488,1795491,1795502,1795594,1795613,1795618,1796144,1796230,1796239,1796274,1796278,1796988,1797378,1798035,1798834,1799219,1799389,1799393,1799924,1800244,1800269,1800606,1800613,1800974,1801011,1801013,1801118-1801119,1801675,1802260,1802262,1802286,1802548,1802934,1802938,1802973,1803026,1803247-1803249,1803951
,1803953-1803955,1805851-1805852,1806668,1807308,1807688,1808022,1808125,1808128,1808142,1808240,1808246,1809024,1809026,1809131,1809163,1809253,1809255-1809256,1809289,1809745,1811071-1811072,1811155,1811380,1811655,1811952,1811963,1811986,1813192,1814189,1814332,1814397,1815201,1815426,1815438,1815926,1817326,1817919,1817987-1817988,1817990,1818038,1818042,1818056,1818124,1818554,1818576,1818645,1819048,1819050,1821325,1821358,1821495,1821516
/jackrabbit/trunk:1345480
Modified: jackrabbit/oak/branches/1.6/oak-parent/pom.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-parent/pom.xml?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.6/oak-parent/pom.xml (original)
+++ jackrabbit/oak/branches/1.6/oak-parent/pom.xml Thu Feb 1 15:47:58 2018
@@ -49,6 +49,7 @@
<mongo.db2>MongoMKDB2</mongo.db2>
<segment.db>SegmentMK</segment.db>
<lucene.version>4.7.1</lucene.version>
+ <solr.version>5.5.5</solr.version>
<mongo.driver.version>3.4.0</mongo.driver.version>
<!-- Note that we're using SLF4J API version 1.7 when compiling -->
<!-- core Oak components but more recent SLF4J and Logback versions -->
Modified: jackrabbit/oak/branches/1.6/oak-solr-core/pom.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/pom.xml?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.6/oak-solr-core/pom.xml (original)
+++ jackrabbit/oak/branches/1.6/oak-solr-core/pom.xml Thu Feb 1 15:47:58 2018
@@ -100,6 +100,25 @@
<dependencies>
+ <!-- Added first to ensure older Lucene brought in by oak-jcr does
not get selected in Eclipse -->
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-test-framework</artifactId>
+ <version>${solr.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-core</artifactId>
+ <version>${solr.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-analyzers-common</artifactId>
+ <version>${solr.version}</version>
+ <scope>test</scope>
+ </dependency>
<!-- TEST -->
<dependency>
<groupId>junit</groupId>
@@ -170,19 +189,19 @@
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-test-framework</artifactId>
- <version>${lucene.version}</version>
+ <version>${solr.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
- <version>${lucene.version}</version>
+ <version>${solr.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
- <version>${lucene.version}</version>
+ <version>${solr.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -243,7 +262,7 @@
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
- <version>${lucene.version}</version>
+ <version>${solr.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@@ -255,7 +274,7 @@
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
- <version>${lucene.version}</version>
+ <version>${solr.version}</version>
<scope>provided</scope>
</dependency>
Modified:
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrConfigurationDefaults.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrConfigurationDefaults.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrConfigurationDefaults.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/OakSolrConfigurationDefaults.java
Thu Feb 1 15:47:58 2018
@@ -30,7 +30,7 @@ public class OakSolrConfigurationDefault
public static final String DESC_FIELD_NAME = "path_des";
public static final String ANC_FIELD_NAME = "path_anc";
public static final String CATCHALL_FIELD = "catch_all";
- public static final int ROWS = Integer.MAX_VALUE;
+ public static final int ROWS = 10;
public static final boolean PROPERTY_RESTRICTIONS = false;
public static final boolean PATH_RESTRICTIONS = false;
public static final boolean PRIMARY_TYPES = false;
Modified:
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/RemoteSolrServerConfiguration.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/RemoteSolrServerConfiguration.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/RemoteSolrServerConfiguration.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/RemoteSolrServerConfiguration.java
Thu Feb 1 15:47:58 2018
@@ -26,6 +26,8 @@ import org.apache.jackrabbit.oak.plugins
public class RemoteSolrServerConfiguration extends
SolrServerConfiguration<RemoteSolrServerProvider> {
private final String solrConfDir;
+ private final int socketTimeout;
+ private final int connectionTimeout;
private final String[] solrHttpUrls;
private final String solrZkHost;
private final String solrCollection;
@@ -33,7 +35,9 @@ public class RemoteSolrServerConfigurati
private final int solrReplicationFactor;
public RemoteSolrServerConfiguration(String solrZkHost, String
solrCollection, int solrShardsNo, int solrReplicationFactor,
- String solrConfDir, String...
solrHttpUrls) {
+ String solrConfDir, int
socketTimeout, int connectionTimeout, String... solrHttpUrls) {
+ this.socketTimeout = socketTimeout;
+ this.connectionTimeout = connectionTimeout;
this.solrHttpUrls = solrHttpUrls;
this.solrZkHost = solrZkHost;
this.solrCollection = solrCollection;
@@ -66,10 +70,20 @@ public class RemoteSolrServerConfigurati
return solrConfDir;
}
+ public int getSocketTimeout() {
+ return socketTimeout;
+ }
+
+ public int getConnectionTimeout() {
+ return connectionTimeout;
+ }
+
@Override
public String toString() {
return "RemoteSolrServerConfiguration{" +
"solrConfDir='" + solrConfDir + '\'' +
+ ", socketTimeout=" + socketTimeout +
+ ", connectionTimeout=" + connectionTimeout +
", solrHttpUrls=" + Arrays.toString(solrHttpUrls) +
", solrZkHost='" + solrZkHost + '\'' +
", solrCollection='" + solrCollection + '\'' +
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java
Thu Feb 1 15:47:58 2018
@@ -24,7 +24,7 @@ import java.lang.reflect.Type;
import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider;
/**
- * Configuration parameters for starting a {@link
org.apache.solr.client.solrj.SolrServer}
+ * Configuration parameters for starting a {@link
org.apache.solr.client.solrj.SolrClient}
*/
public abstract class SolrServerConfiguration<S extends SolrServerProvider> {
Modified:
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationDefaults.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationDefaults.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationDefaults.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationDefaults.java
Thu Feb 1 15:47:58 2018
@@ -35,5 +35,6 @@ public class SolrServerConfigurationDefa
public static final int SHARDS_NO = 2;
public static final int REPLICATION_FACTOR = 2;
public static final String CONFIGURATION_DIRECTORY = "";
-
+ public static final int SOCKET_TIMEOUT = 3000;
+ public static final int CONNECTION_TIMEOUT = 3000;
}
Modified:
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfigurationProvider.java
Thu Feb 1 15:47:58 2018
@@ -21,13 +21,13 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider;
/**
- * {@link org.apache.solr.client.solrj.SolrServer} configuration provider.
+ * {@link org.apache.solr.client.solrj.SolrClient} configuration provider.
*/
public interface SolrServerConfigurationProvider<S extends SolrServerProvider>
{
/**
* Provide a {@link SolrServerConfiguration} to be used to initialize a
specific
- * {@link org.apache.solr.client.solrj.SolrServer} implementation.
+ * {@link org.apache.solr.client.solrj.SolrClient} implementation.
*
* @return the {@link
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration}
holding the configuration parameters
*/
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerConfigurationProvider.java
Thu Feb 1 15:47:58 2018
@@ -81,8 +81,11 @@ public class NodeStateSolrServerConfigur
String solrHttpUrls = getStringValueFor(Properties.HTTP_URL,
SolrServerConfigurationDefaults.HTTP_URL);
int solrShardsNo = getIntValueFor(Properties.SHARDS_NO,
SolrServerConfigurationDefaults.SHARDS_NO);
+ int socketTimeout = getIntValueFor(Properties.SOCKET_TIMEOUT,
SolrServerConfigurationDefaults.SOCKET_TIMEOUT);
+ int connectionTimeout =
getIntValueFor(Properties.CONNECTION_TIMEOUT,
SolrServerConfigurationDefaults.CONNECTION_TIMEOUT);
+
return (SolrServerConfiguration) new
RemoteSolrServerConfiguration(solrZkHost, solrCollection, solrShardsNo,
- solrReplicationFactor, solrConfDir, solrHttpUrls);
+ solrReplicationFactor, solrConfDir, socketTimeout,
connectionTimeout, solrHttpUrls);
} else {
throw new RuntimeException("unexpected Solr server type: " + type);
}
@@ -107,6 +110,8 @@ public class NodeStateSolrServerConfigur
public static final String CONFIGURATION_DIRECTORY =
"configurationDirectory";
public static final String HTTP_URL = "httpUrl";
public static final String SHARDS_NO = "shardsNo";
+ public static final String CONNECTION_TIMEOUT = "connectionTimeout";
+ public static final String SOCKET_TIMEOUT = "socketTimeout";
}
}
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
Thu Feb 1 15:47:58 2018
@@ -21,6 +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.SolrClient;
import org.apache.solr.client.solrj.SolrServer;
/**
@@ -46,19 +47,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();
}
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
Thu Feb 1 15:47:58 2018
@@ -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.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditorProvider.java
Thu Feb 1 15:47:58 2018
@@ -32,6 +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.SolrClient;
import org.apache.solr.client.solrj.SolrServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -68,7 +69,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 +86,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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/RemoteSolrServerConfigurationProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/RemoteSolrServerConfigurationProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/RemoteSolrServerConfigurationProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/RemoteSolrServerConfigurationProvider.java
Thu Feb 1 15:47:58 2018
@@ -47,6 +47,12 @@ public class RemoteSolrServerConfigurati
@Property(value = SolrServerConfigurationDefaults.COLLECTION, label =
"Solr collection")
private static final String SOLR_COLLECTION = "solr.collection";
+ @Property(intValue = SolrServerConfigurationDefaults.SOCKET_TIMEOUT, label
= "Socket timeout (ms)")
+ private static final String SOCKET_TIMEOUT = "solr.socket.timeout";
+
+ @Property(intValue = SolrServerConfigurationDefaults.CONNECTION_TIMEOUT,
label = "Connection timeout (ms)")
+ private static final String CONNECTION_TIMEOUT = "solr.connection.timeout";
+
@Property(intValue = SolrServerConfigurationDefaults.SHARDS_NO, label =
"No. of collection shards")
private static final String SOLR_SHARDS_NO = "solr.shards.no";
@@ -72,7 +78,10 @@ public class RemoteSolrServerConfigurati
solrShardsNo =
Integer.valueOf(componentContext.getProperties().get(SOLR_SHARDS_NO).toString());
solrReplicationFactor =
Integer.valueOf(componentContext.getProperties().get(SOLR_REPLICATION_FACTOR).toString());
solrConfDir =
String.valueOf(componentContext.getProperties().get(SOLR_CONF_DIR));
- remoteSolrServerConfiguration = new
RemoteSolrServerConfiguration(solrZkHost, solrCollection, solrShardsNo,
solrReplicationFactor, solrConfDir, solrHttpUrl);
+ int socketTimeout =
Integer.valueOf(componentContext.getProperties().get(SOCKET_TIMEOUT).toString());
+ int connectionTimeout =
Integer.valueOf(componentContext.getProperties().get(CONNECTION_TIMEOUT).toString());
+ remoteSolrServerConfiguration = new
RemoteSolrServerConfiguration(solrZkHost, solrCollection, solrShardsNo,
+ solrReplicationFactor, solrConfDir, socketTimeout,
connectionTimeout, solrHttpUrl);
}
@Deactivate
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
Thu Feb 1 15:47:58 2018
@@ -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 {
@@ -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.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
Thu Feb 1 15:47:58 2018
@@ -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;
@@ -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());
@@ -549,7 +550,7 @@ public class SolrQueryIndex implements F
for (String path : indexPaths) {
OakSolrConfiguration configuration = getConfiguration(path,
rootState);
- SolrServer solrServer = getServer(path, rootState);
+ SolrClient solrServer = getServer(path, rootState);
// only provide the plan if both valid configuration and server
exist
if (configuration != null && solrServer != null) {
LMSEstimator estimator = getEstimator(path);
@@ -668,13 +669,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;
@@ -797,7 +798,7 @@ public class SolrQueryIndex implements F
countQuery.setRows(0);
try {
estimate =
this.solrServer.query(countQuery).getResults().getNumFound();
- } catch (SolrServerException e) {
+ } catch (IOException | SolrServerException e) {
log.warn("could not perform count query {}",
countQuery);
}
break;
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/DefaultSolrServerProvider.java
Thu Feb 1 15:47:58 2018
@@ -20,18 +20,19 @@ import java.io.IOException;
import javax.annotation.CheckForNull;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationDefaults;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
public class DefaultSolrServerProvider implements SolrServerProvider {
- private SolrServer solrServer;
- private SolrServer indexingSolrServer;
+ private SolrClient solrServer;
+ private SolrClient indexingSolrServer;
@CheckForNull
@Override
- public SolrServer getSolrServer() throws Exception {
+ public SolrClient getSolrServer() throws Exception {
if (solrServer == null) {
solrServer = new HttpSolrServer(getUrl());
}
@@ -40,7 +41,7 @@ public class DefaultSolrServerProvider i
@CheckForNull
@Override
- public SolrServer getIndexingSolrServer() throws Exception {
+ public SolrClient getIndexingSolrServer() throws Exception {
if (indexingSolrServer == null) {
indexingSolrServer = new ConcurrentUpdateSolrServer(getUrl(),
1000, 4);
}
@@ -49,7 +50,7 @@ public class DefaultSolrServerProvider i
@CheckForNull
@Override
- public SolrServer getSearchingSolrServer() throws Exception {
+ public SolrClient getSearchingSolrServer() throws Exception {
return getSolrServer();
}
@@ -62,14 +63,14 @@ public class DefaultSolrServerProvider i
@Override
public void close() throws IOException {
try {
- SolrServer solrServer = getSolrServer();
+ SolrClient solrServer = getSolrServer();
if (solrServer != null) {
solrServer.shutdown();
}
} catch (Exception e) {
// do nothing
} try {
- SolrServer indexingSolrServer = getIndexingSolrServer();
+ SolrClient indexingSolrServer = getIndexingSolrServer();
if (indexingSolrServer != null) {
indexingSolrServer.shutdown();
}
Modified:
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
Thu Feb 1 15:47:58 2018
@@ -28,7 +28,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.commons.IOUtils;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationDefaults;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
@@ -50,7 +50,7 @@ public class EmbeddedSolrServerProvider
this.solrServerConfiguration = solrServerConfiguration;
}
- private SolrServer createSolrServer() throws Exception {
+ private SolrClient createSolrServer() throws Exception {
log.info("creating new embedded solr server with config: {}",
solrServerConfiguration);
@@ -75,7 +75,7 @@ public class EmbeddedSolrServerProvider
if (log.isInfoEnabled()) {
log.info("Jetty runner instantiated");
}
- jettySolrRunner.start(true);
+ jettySolrRunner.start();
if (log.isInfoEnabled()) {
log.info("Jetty runner started");
}
@@ -168,7 +168,6 @@ public class EmbeddedSolrServerProvider
out.close();
String coreConfDir = solrCoreDir + "/conf/";
- copy("/solr/oak/conf/currency.xml", coreConfDir);
copy("/solr/oak/conf/schema.xml", coreConfDir);
copy("/solr/oak/conf/solrconfig.xml", coreConfDir);
} else if (!solrCorePathFile.isDirectory()) {
@@ -184,22 +183,26 @@ public class EmbeddedSolrServerProvider
return "write.lock".equals(name);
}
});
- log.debug("found {} lock files", locks.length);
- // remove eventaul previous lock files (e.g. due to ungraceful
shutdown)
- if (locks.length > 0) {
- for (File f : locks) {
- FileUtils.forceDelete(f);
- log.debug("deleted {}", f.getAbsolutePath());
+ if (locks != null) {
+ log.debug("found {} lock files", locks.length);
+ // remove eventaul previous lock files (e.g. due to ungraceful
shutdown)
+ if (locks.length > 0) {
+ for (File f : locks) {
+ FileUtils.forceDelete(f);
+ log.debug("deleted {}", f.getAbsolutePath());
+ }
}
}
}
// check if the a core with the given coreName exists
String[] files = solrHomePathFile.list();
- Arrays.sort(files);
- if (Arrays.binarySearch(files, coreName) < 0) {
- throw new IOException("could not find a directory with the
coreName '" + coreName
- + "' in the solrHomePath '" + solrHomePath + "'");
+ if (files != null) {
+ Arrays.sort(files);
+ if (Arrays.binarySearch(files, coreName) < 0) {
+ throw new IOException("could not find a directory with the
coreName '" + coreName
+ + "' in the solrHomePath '" + solrHomePath + "'");
+ }
}
}
@@ -235,19 +238,19 @@ public class EmbeddedSolrServerProvider
@CheckForNull
@Override
- public SolrServer getSolrServer() throws Exception {
+ public SolrClient getSolrServer() throws Exception {
return createSolrServer();
}
@CheckForNull
@Override
- public SolrServer getIndexingSolrServer() throws Exception {
+ public SolrClient getIndexingSolrServer() throws Exception {
return getSolrServer();
}
@CheckForNull
@Override
- public SolrServer getSearchingSolrServer() throws Exception {
+ public SolrClient getSearchingSolrServer() throws Exception {
return getSolrServer();
}
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/OakSolrServer.java
Thu Feb 1 15:47:58 2018
@@ -22,6 +22,7 @@ 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;
@@ -47,10 +48,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,10 +59,10 @@ 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) {
solrServer = solrServerProvider.getSolrServer();
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/RemoteSolrServerProvider.java
Thu Feb 1 15:47:58 2018
@@ -16,19 +16,27 @@
*/
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 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 +57,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 +84,51 @@ 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 concurrentUpdateSolrServer = new
ConcurrentUpdateSolrClient(url, 1000,
+ Runtime.getRuntime().availableProcessors());
+
concurrentUpdateSolrServer.setConnectionTimeout(remoteSolrServerConfiguration.getConnectionTimeout());
+
concurrentUpdateSolrServer.setSoTimeout(remoteSolrServerConfiguration.getSocketTimeout());
+ concurrentUpdateSolrServer.blockUntilFinished();
+ server = concurrentUpdateSolrServer;
}
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(remoteSolrServerConfiguration.getSolrHttpUrls()[0]);
+
httpSolrServer.setConnectionTimeout(remoteSolrServerConfiguration.getConnectionTimeout());
+
httpSolrServer.setSoTimeout(remoteSolrServerConfiguration.getSocketTimeout());
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(remoteSolrServerConfiguration.getSolrZkHost());
+
cloudSolrServer.setIdField(OakSolrConfigurationDefaults.PATH_FIELD_NAME);
+
cloudSolrServer.setZkConnectTimeout(remoteSolrServerConfiguration.getConnectionTimeout());
+
cloudSolrServer.setZkClientTimeout(remoteSolrServerConfiguration.getSocketTimeout());
+
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 +139,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 +150,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 +166,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 +195,41 @@ 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);
+ cloudSolrServer.uploadConfig(dir, solrCollection);
+
+ log.debug("creating collection {}", solrCollection);
+
+ CollectionAdminRequest.Create req = new
CollectionAdminRequest.Create();
+ CollectionAdminResponse response =
req.setCollectionName(solrCollection)
+
.setReplicationFactor(remoteSolrServerConfiguration.getSolrReplicationFactor())
+ .setConfigName(solrCollection)
+
.setNumShards(remoteSolrServerConfiguration.getSolrShardsNo())
+ .process(cloudSolrServer);
+
+ log.info("collection creation response {}", response);
+
cloudSolrServer.request(req);
}
} catch (Exception e) {
@@ -199,6 +238,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.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerProvider.java
Thu Feb 1 15:47:58 2018
@@ -19,40 +19,40 @@ 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
+ * Provider of {@link org.apache.solr.client.solrj.SolrClient}s instances
*/
public interface SolrServerProvider extends Closeable {
/**
- * provides an already initialized {@link
org.apache.solr.client.solrj.SolrServer} to be used for either searching or
+ * provides an already initialized {@link
org.apache.solr.client.solrj.SolrClient} to be used for either searching or
* indexing, or both.
*
- * @return a {@link org.apache.solr.client.solrj.SolrServer} instance
- * @throws Exception if anything goes wrong while initializing the {@link
org.apache.solr.client.solrj.SolrServer}
+ * @return a {@link org.apache.solr.client.solrj.SolrClient} instance
+ * @throws Exception if anything goes wrong while initializing the {@link
org.apache.solr.client.solrj.SolrClient}
*/
@CheckForNull
- SolrServer getSolrServer() throws Exception;
+ SolrClient getSolrServer() throws Exception;
/**
- * provides an already initialized {@link
org.apache.solr.client.solrj.SolrServer} specifically configured to be
+ * provides an already initialized {@link
org.apache.solr.client.solrj.SolrClient} specifically configured to be
* used for indexing.
*
- * @return a {@link org.apache.solr.client.solrj.SolrServer} instance
- * @throws Exception if anything goes wrong while initializing the {@link
org.apache.solr.client.solrj.SolrServer}
+ * @return a {@link org.apache.solr.client.solrj.SolrClient} instance
+ * @throws Exception if anything goes wrong while initializing the {@link
org.apache.solr.client.solrj.SolrClient}
*/
@CheckForNull
- SolrServer getIndexingSolrServer() throws Exception;
+ SolrClient getIndexingSolrServer() throws Exception;
/**
- * provides an already initialized {@link
org.apache.solr.client.solrj.SolrServer} specifically configured to be
+ * provides an already initialized {@link
org.apache.solr.client.solrj.SolrClient} specifically configured to be
* used for searching.
*
- * @return a {@link org.apache.solr.client.solrj.SolrServer} instance
- * @throws Exception if anything goes wrong while initializing the {@link
org.apache.solr.client.solrj.SolrServer}
+ * @return a {@link org.apache.solr.client.solrj.SolrClient} instance
+ * @throws Exception if anything goes wrong while initializing the {@link
org.apache.solr.client.solrj.SolrClient}
*/
@CheckForNull
- SolrServer getSearchingSolrServer() throws Exception;
+ SolrClient getSearchingSolrServer() throws Exception;
}
Modified:
jackrabbit/oak/branches/1.6/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.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/SolrServerRegistry.java
Thu Feb 1 15:47:58 2018
@@ -22,6 +22,7 @@ import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfiguration;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServer;
/**
@@ -29,10 +30,10 @@ import org.apache.solr.client.solrj.Solr
*/
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 +50,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,7 +68,7 @@ public class SolrServerRegistry {
switch (strategy) {
case INDEXING:
synchronized (indexingServerRegistry) {
- SolrServer removed =
indexingServerRegistry.remove(configuration.toString());
+ SolrClient removed =
indexingServerRegistry.remove(configuration.toString());
try {
removed.shutdown();
} catch (Exception e) {
@@ -77,7 +78,7 @@ public class SolrServerRegistry {
break;
case SEARCHING:
synchronized (searchingServerRegistry) {
- SolrServer removed =
searchingServerRegistry.remove(configuration.toString());
+ SolrClient removed =
searchingServerRegistry.remove(configuration.toString());
try {
removed.shutdown();
} catch (Exception e) {
Modified:
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml?rev=1822884&r1=1822883&r2=1822884&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
(original)
+++
jackrabbit/oak/branches/1.6/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
Thu Feb 1 15:47:58 2018
@@ -64,11 +64,11 @@
</fieldType>
<fieldType name="text_general" class="solr.TextField"
positionIncrementGap="100">
<analyzer type="index">
- <tokenizer class="solr.ClassicTokenizerFactory"
maxTokenLength="100000"/>
+ <tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
- <tokenizer class="solr.ClassicTokenizerFactory"
maxTokenLength="100000"/>
+ <tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
@@ -81,7 +81,7 @@
</fieldType>
<fieldtype name="spellcheck" class="solr.TextField">
<analyzer type="index">
- <tokenizer class="solr.ClassicTokenizerFactory"/>
+ <tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ShingleFilterFactory" minShingleSize="2"
maxShingleSize="3"
outputUnigrams="true"
outputUnigramsIfNoShingles="true" tokenSeparator=" " fillerToken="*"/>
@@ -109,8 +109,6 @@
<fieldtype name="binary" class="solr.BinaryField"/>
- <fieldType name="currency" class="solr.CurrencyField"
precisionStep="8" defaultCurrency="USD"
- currencyConfig="currency.xml"/>
<fieldtype name="ignored" stored="false" indexed="false"
multiValued="true" class="solr.StrField"/>
</types>