Author: tommaso
Date: Sat Nov 9 06:28:01 2013
New Revision: 1540260
URL: http://svn.apache.org/r1540260
Log:
OAK-1162 - make solr index async by default
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrIndexEditorProviderService.java
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/util/SolrIndexInitializer.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrIndexEditorProviderService.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrIndexEditorProviderService.java?rev=1540260&r1=1540259&r2=1540260&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrIndexEditorProviderService.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrIndexEditorProviderService.java
Sat Nov 9 06:28:01 2013
@@ -26,7 +26,6 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.api.CommitFailedException;
-import org.apache.jackrabbit.oak.plugins.index.IndexEditor;
import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfigurationProvider;
import
org.apache.jackrabbit.oak.plugins.index.solr.index.SolrIndexEditorProvider;
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/util/SolrIndexInitializer.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/util/SolrIndexInitializer.java?rev=1540260&r1=1540259&r2=1540260&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/util/SolrIndexInitializer.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/util/SolrIndexInitializer.java
Sat Nov 9 06:28:01 2013
@@ -30,14 +30,37 @@ public class SolrIndexInitializer implem
private static final String SOLR_IDX = "solr";
+ private final String async;
+
+ /**
+ * build Solr index definition with defaults (reindex enabled,
asynchronous):
+ */
+ public SolrIndexInitializer() {
+ this.async = "async";
+ }
+
+ /**
+ * build Solr index definition by specifying if it should be async or not
+ *
+ * @param async
+ * if <code>true</code> for the index to be asynchronous,
<code>false</code> to make
+ * it synchronous
+ */
+ public SolrIndexInitializer(boolean async) {
+ this.async = async ? "async" : null;
+ }
+
@Override
public void initialize(@Nonnull NodeBuilder builder) {
if (builder.hasChildNode(IndexConstants.INDEX_DEFINITIONS_NAME)
&&
!builder.getChildNode(IndexConstants.INDEX_DEFINITIONS_NAME).hasChildNode(SOLR_IDX))
{
builder =
builder.getChildNode(IndexConstants.INDEX_DEFINITIONS_NAME).child(SOLR_IDX);
builder.setProperty(JcrConstants.JCR_PRIMARYTYPE,
IndexConstants.INDEX_DEFINITIONS_NODE_TYPE)
- .setProperty(IndexConstants.TYPE_PROPERTY_NAME, "solr")
+ .setProperty(IndexConstants.TYPE_PROPERTY_NAME, SOLR_IDX)
.setProperty(IndexConstants.REINDEX_PROPERTY_NAME, "true");
+ if (async != null) {
+ builder.setProperty(IndexConstants.ASYNC_PROPERTY_NAME, async);
+ }
}
}
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java?rev=1540260&r1=1540259&r2=1540260&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/SolrBaseTest.java
Sat Nov 9 06:28:01 2013
@@ -60,7 +60,7 @@ public abstract class SolrBaseTest {
new SolrIndexEditorProvider(provider, provider)));
Oak oak = new Oak().with(new InitialContent())
.with(new OpenSecurityProvider())
- .with(new SolrIndexInitializer())
+ .with(new SolrIndexInitializer(false)) // synchronous
.with(new SolrQueryIndexProvider(provider, provider))
.with(new SolrIndexEditorProvider(provider, provider));
repository = oak