Support for searchable snapshots in datanode (#18357)

* Support for searchable snapshots in datanode

* Added changelog

* Code cleanup, extracted s3 repository configuration

* fixed installing of s3 repo plugin

* code cleanup

* Install opensearch plugins from predownloaded zip archives

* fixed configuration key

* output datanode logs in DatanodeSearchableSnapshotsIT if startup fails

* transfer predownloaded opensearch plugins to the datanode docker image

* Set default node.search.cache.size to 10gb

* javadoc, code cleanup

* code cleanup

* fix s3 configuration enabled check, added test

* Add md5 checksum to the s3 repository download
This commit is contained in:
Tomas Dvorak
2024-02-27 10:18:58 +01:00
committed by GitHub
parent 8200b36182
commit e620eeb59d
24 changed files with 849 additions and 62 deletions

View File

@@ -85,6 +85,9 @@ public class Configuration extends BaseConfiguration {
@Parameter(value = "opensearch_location")
private String opensearchDistributionRoot = "dist";
@Parameter(value = "opensearch_plugins_location", validators = DirectoryReadableValidator.class)
private Path opensearchPluginsDir = Path.of("dist/plugins");
@Parameter(value = "opensearch_data_location", required = true, validators = DirectoryWritableValidator.class)
private Path opensearchDataLocation = Path.of("datanode/data");
@@ -240,6 +243,9 @@ public class Configuration extends BaseConfiguration {
@Parameter(value = "metrics_policy")
private String metricsPolicy = "gl-datanode-metrics-ism";
@Parameter(value = "node_search_cache_size")
private String searchCacheSize = "10gb";
/**
* https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/snapshots/snapshot-restore/#shared-file-system
*/
@@ -277,6 +283,11 @@ public class Configuration extends BaseConfiguration {
return opensearchDistributionRoot;
}
@Nullable
public Path getOpensearchPluginsDir() {
return opensearchPluginsDir;
}
/**
* Use {@link DatanodeDirectories} to obtain a reference to this directory.
*/
@@ -648,6 +659,11 @@ public class Configuration extends BaseConfiguration {
return rootPasswordSha2;
}
public String getNodeSearchCacheSize() {
return searchCacheSize;
}
public List<String> getPathRepo() {
return pathRepo;
}