Skip to content

Commit

Permalink
bumping opensearch to 2.6.0 and adding support for using an explicitl…
Browse files Browse the repository at this point in the history
…y non-cached container in older IT tests
  • Loading branch information
janheise committed May 4, 2023
1 parent e35059a commit 94f8697
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public class ElasticsearchInstanceES7 extends TestableSearchServerInstance {
private Adapters adapters;

protected ElasticsearchInstanceES7(String image, SearchVersion version, Network network, String heapSize) {
super(image, version, network, heapSize);
super(image, version, network, heapSize, true);
this.restHighLevelClient = buildRestClient();
this.elasticsearchClient = new ElasticsearchClient(this.restHighLevelClient, false, new ObjectMapperProvider().get());
this.client = new ClientES7(this.elasticsearchClient);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public class OpenSearch13Instance extends TestableSearchServerInstance {
private final Adapters adapters;

protected OpenSearch13Instance(String image, SearchVersion version, Network network) {
super(image, version, network, "2g");
super(image, version, network, "2g", true);
this.restHighLevelClient = buildRestClient();
this.elasticsearchClient = new ElasticsearchClient(this.restHighLevelClient, false, new ObjectMapperProvider().get());
this.client = new ClientES7(this.elasticsearchClient);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public FixtureImporter fixtureImporter() {
}

@Override
public GenericContainer<?> createContainer(String image, SearchVersion version, Network network) {
public GenericContainer<?> createContainer(String image, SearchVersion version, Network network, boolean useCached) {
return null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

public class MessagesOS2IT extends MessagesIT {
@Rule
public final OpenSearchInstance openSearchInstance = OpenSearchInstance.create();
public final OpenSearchInstance openSearchInstance = OpenSearchInstance.create(false);

@Override
protected SearchServerInstance searchServer() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,16 @@ public class OpenSearchInstance extends TestableSearchServerInstance {
private final FixtureImporter fixtureImporter;
private final Adapters adapters;

protected OpenSearchInstance(String image, SearchVersion version, Network network, String heapSize) {
super(image, version, network, heapSize);
protected OpenSearchInstance(String image, SearchVersion version, Network network, String heapSize, boolean useCached) {
super(image, version, network, heapSize, useCached);
RestHighLevelClient restHighLevelClient = buildRestClient();
this.openSearchClient = new OpenSearchClient(restHighLevelClient, false, new ObjectMapperProvider().get());
this.client = new ClientOS2(this.openSearchClient);
this.fixtureImporter = new FixtureImporterOS2(this.openSearchClient);
adapters = new AdaptersOS2(openSearchClient);
}
protected OpenSearchInstance(String image, SearchVersion version, Network network) {
this(image, version, network, DEFAULT_HEAP_SIZE);
protected OpenSearchInstance(String image, SearchVersion version, Network network, boolean useCached) {
this(image, version, network, DEFAULT_HEAP_SIZE, useCached);
}

@Override
Expand Down Expand Up @@ -92,24 +92,28 @@ private RestHighLevelClient buildRestClient() {
}

public static OpenSearchInstance create() {
return create(OPENSEARCH_VERSION.getSearchVersion(), Network.newNetwork(), DEFAULT_HEAP_SIZE);
return create(true);
}

public static OpenSearchInstance create(boolean useCached) {
return create(OPENSEARCH_VERSION.getSearchVersion(), Network.newNetwork(), DEFAULT_HEAP_SIZE, useCached);
}

public static OpenSearchInstance create(String heapSize) {
return create(OPENSEARCH_VERSION.getSearchVersion(), Network.newNetwork(), heapSize);
return create(OPENSEARCH_VERSION.getSearchVersion(), Network.newNetwork(), heapSize, true);
}

// Caution, do not change this signature. It's required by our container matrix tests. See SearchServerInstanceFactoryByVersion
public static OpenSearchInstance create(SearchVersion searchVersion, Network network) {
return create(searchVersion, network, DEFAULT_HEAP_SIZE);
return create(searchVersion, network, DEFAULT_HEAP_SIZE, true);
}

private static OpenSearchInstance create(SearchVersion searchVersion, Network network, String heapSize) {
private static OpenSearchInstance create(SearchVersion searchVersion, Network network, String heapSize, boolean useCached) {
final String image = imageNameFrom(searchVersion.version());

LOG.debug("Creating instance {}", image);

return new OpenSearchInstance(image, searchVersion, network, heapSize);
return new OpenSearchInstance(image, searchVersion, network, heapSize, useCached);
}

protected static String imageNameFrom(Version version) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public enum SearchServer {
ES7(ELASTICSEARCH, "7.10.2"),
OS1(OPENSEARCH, "1.3.1"),
OS2(OPENSEARCH, "2.0.1"),
OS2_LATEST(OPENSEARCH, "2.4.0");
OS2_LATEST(OPENSEARCH, "2.6.0");

public static final SearchServer DEFAULT_VERSION = OS1;
public static final SearchServer DEFAULT_OPENSEARCH_VERSION = OS2_LATEST;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public interface SearchServerInstance extends Closeable {

FixtureImporter fixtureImporter();

GenericContainer<?> createContainer(String image, SearchVersion version, Network network);
GenericContainer<?> createContainer(String image, SearchVersion version, Network network, boolean useCached);

GenericContainer<?> buildContainer(String image, Network network);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,23 +55,29 @@ public abstract class TestableSearchServerInstance extends ExternalResource impl
@Override
public abstract FixtureImporter fixtureImporter();

protected TestableSearchServerInstance(String image, SearchVersion version, Network network, String heapSize) {
protected TestableSearchServerInstance(String image, SearchVersion version, Network network, String heapSize, boolean useCached) {
this.version = version;
this.heapSize = heapSize;
this.container = createContainer(image, version, network);
this.container = createContainer(image, version, network, useCached);
}

@Override
public GenericContainer<?> createContainer(String image, SearchVersion version, Network network) {
if (!containersByVersion.containsKey(version)) {
GenericContainer<?> container = buildContainer(image, network);
container.start();
if (LOG.isDebugEnabled()) {
container.followOutput(new Slf4jLogConsumer(LOG));
}
public GenericContainer<?> createContainer(String image, SearchVersion version, Network network, boolean useCached) {
if(useCached && containersByVersion.containsKey(version)) {
return containersByVersion.get(version);
}

GenericContainer<?> container = buildContainer(image, network);
container.start();
if (LOG.isDebugEnabled()) {
container.followOutput(new Slf4jLogConsumer(LOG));
}

if(useCached) {
containersByVersion.put(version, container);
}
return containersByVersion.get(version);

return container;
}

@Override
Expand Down

0 comments on commit 94f8697

Please sign in to comment.