Skip to content

Commit d4d2e6f

Browse files
committed
Move writerPool implementation out of IndexingExecutionEngine
Signed-off-by: Arpit Bandejiya <abandeji@amazon.com>
1 parent 134022d commit d4d2e6f

File tree

20 files changed

+295
-269
lines changed

20 files changed

+295
-269
lines changed

sandbox/libs/composite-engine-lib/build.gradle renamed to libs/concurrent-queue/build.gradle

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,22 @@
1212
*/
1313

1414
dependencies {
15+
/*******
16+
* !!!! NO RUNTIME DEPENDENCIES !!!!
17+
*******/
18+
1519
testImplementation "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${versions.randomizedrunner}"
1620
testImplementation "junit:junit:${versions.junit}"
1721
testImplementation "org.hamcrest:hamcrest:${versions.hamcrest}"
22+
1823
testImplementation(project(":test:framework")) {
19-
exclude group: 'org.opensearch', module: 'opensearch-composite-engine-lib'
24+
exclude group: 'org.opensearch', module: 'opensearch-concurrent-queue'
2025
}
2126
}
2227

2328
testingConventions.enabled = true
2429

2530
tasks.named('forbiddenApisMain').configure {
26-
replaceSignatureFiles 'jdk-signatures'
31+
// :libs:opensearch-concurrent-queue does not depend on server
32+
replaceSignatureFiles 'jdk-signatures'
2733
}

sandbox/libs/composite-engine-lib/src/main/java/org/opensearch/composite/queue/ConcurrentQueue.java renamed to libs/concurrent-queue/src/main/java/org/opensearch/common/queue/ConcurrentQueue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.composite.queue;
9+
package org.opensearch.common.queue;
1010

1111
import java.util.Iterator;
1212
import java.util.Queue;

sandbox/libs/composite-engine-lib/src/main/java/org/opensearch/composite/queue/Lockable.java renamed to libs/concurrent-queue/src/main/java/org/opensearch/common/queue/Lockable.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.composite.queue;
10-
11-
import jdk.jfr.Experimental;
9+
package org.opensearch.common.queue;
1210

1311
/**
1412
* A minimal locking contract for objects managed by a {@link LockableConcurrentQueue}.
1513
*
1614
* @opensearch.experimental
1715
*/
18-
@Experimental
1916
public interface Lockable {
2017

2118
/**

sandbox/libs/composite-engine-lib/src/main/java/org/opensearch/composite/queue/LockableConcurrentQueue.java renamed to libs/concurrent-queue/src/main/java/org/opensearch/common/queue/LockableConcurrentQueue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.composite.queue;
9+
package org.opensearch.common.queue;
1010

1111
import java.util.Queue;
1212
import java.util.concurrent.atomic.AtomicInteger;

sandbox/libs/composite-engine-lib/src/main/java/org/opensearch/composite/queue/package-info.java renamed to libs/concurrent-queue/src/main/java/org/opensearch/common/queue/package-info.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
*
1212
* @opensearch.experimental
1313
*/
14-
package org.opensearch.composite.queue;
14+
package org.opensearch.common.queue;

sandbox/libs/composite-engine-lib/src/test/java/org/opensearch/composite/queue/ConcurrentQueueTests.java renamed to libs/concurrent-queue/src/test/java/org/opensearch/common/queue/ConcurrentQueueTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.composite.queue;
9+
package org.opensearch.common.queue;
1010

1111
import org.opensearch.test.OpenSearchTestCase;
1212

sandbox/libs/composite-engine-lib/src/test/java/org/opensearch/composite/queue/LockableConcurrentQueueTests.java renamed to libs/concurrent-queue/src/test/java/org/opensearch/common/queue/LockableConcurrentQueueTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.composite.queue;
9+
package org.opensearch.common.queue;
1010

1111
import org.opensearch.test.OpenSearchTestCase;
1212

sandbox/plugins/composite-engine/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ opensearchplugin {
1212
}
1313

1414
dependencies {
15-
api project(':sandbox:libs:composite-engine-lib')
15+
api project(':libs:opensearch-concurrent-queue')
1616
compileOnly project(':server')
1717
testImplementation project(':test:framework')
1818
}

sandbox/plugins/composite-engine/src/main/java/org/opensearch/composite/CompositeDataFormatWriterPool.java

Lines changed: 0 additions & 151 deletions
This file was deleted.

sandbox/plugins/composite-engine/src/main/java/org/opensearch/composite/CompositeEnginePlugin.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010

1111
import org.apache.logging.log4j.LogManager;
1212
import org.apache.logging.log4j.Logger;
13+
import org.opensearch.common.Nullable;
1314
import org.opensearch.common.annotation.ExperimentalApi;
1415
import org.opensearch.common.settings.Setting;
1516
import org.opensearch.common.settings.Settings;
1617
import org.opensearch.index.IndexModule;
1718
import org.opensearch.index.IndexSettings;
1819
import org.opensearch.index.engine.dataformat.DataFormat;
1920
import org.opensearch.index.engine.dataformat.DataFormatPlugin;
21+
import org.opensearch.index.engine.dataformat.DataformatAwareLockableWriterPool;
2022
import org.opensearch.index.engine.dataformat.IndexingExecutionEngine;
2123
import org.opensearch.index.mapper.MapperService;
2224
import org.opensearch.index.shard.ShardPath;
@@ -28,6 +30,7 @@
2830
import java.util.Iterator;
2931
import java.util.List;
3032
import java.util.Map;
33+
import java.util.Objects;
3134

3235
/**
3336
* Sandbox plugin that provides a {@link CompositeIndexingExecutionEngine} for
@@ -186,14 +189,14 @@ public DataFormat getDataFormat() {
186189
public IndexingExecutionEngine<?, ?> indexingEngine(
187190
MapperService mapperService,
188191
ShardPath shardPath,
189-
IndexSettings indexSettings
192+
IndexSettings indexSettings,
193+
@Nullable DataformatAwareLockableWriterPool<?> writerPool
190194
) {
191-
return new CompositeIndexingExecutionEngine(
192-
dataFormatPlugins,
193-
indexSettings,
194-
mapperService,
195-
shardPath
196-
);
195+
Objects.requireNonNull(writerPool, "DataformatAwareLockableWriterPool is required for CompositeIndexingExecutionEngine");
196+
@SuppressWarnings("unchecked")
197+
DataformatAwareLockableWriterPool<CompositeWriter> compositeWriterPool = (DataformatAwareLockableWriterPool<
198+
CompositeWriter>) writerPool;
199+
return new CompositeIndexingExecutionEngine(dataFormatPlugins, indexSettings, mapperService, shardPath, compositeWriterPool);
197200
}
198201

199202
/**

0 commit comments

Comments
 (0)