This is an automated email from the ASF dual-hosted git repository. tanjian pushed a commit to branch es_index_settings in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit e8962c9d82e5e1d434d185bcc66048893e5c5154 Author: Jared.Tan <jian....@daocloud.io> AuthorDate: Thu Nov 21 17:25:59 2019 +0800 advanced config. --- docker/oap/docker-entrypoint.sh | 1 + .../server-bootstrap/src/main/resources/application.yml | 6 ++++++ .../elasticsearch/StorageModuleElasticsearchConfig.java | 2 ++ .../elasticsearch/StorageModuleElasticsearchProvider.java | 2 +- .../plugin/elasticsearch/base/StorageEsInstaller.java | 15 ++++++++++----- .../StorageModuleElasticsearch7Provider.java | 2 +- .../plugin/elasticsearch7/base/StorageEs7Installer.java | 4 ++-- 7 files changed, 23 insertions(+), 9 deletions(-) diff --git a/docker/oap/docker-entrypoint.sh b/docker/oap/docker-entrypoint.sh index eaca66f..5c38fac 100755 --- a/docker/oap/docker-entrypoint.sh +++ b/docker/oap/docker-entrypoint.sh @@ -119,6 +119,7 @@ cat <<EOT >> ${var_application_file} resultWindowMaxSize: \${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000} metadataQueryMaxSize: \${SW_STORAGE_ES_QUERY_MAX_SIZE:5000} segmentQueryMaxSize: \${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200} + topNReportPeriod: ${SW_CORE_TOPN_REPORT_PERIOD:10} EOT } diff --git a/oap-server/server-bootstrap/src/main/resources/application.yml b/oap-server/server-bootstrap/src/main/resources/application.yml index 112eed8..9d47877 100755 --- a/oap-server/server-bootstrap/src/main/resources/application.yml +++ b/oap-server/server-bootstrap/src/main/resources/application.yml @@ -94,6 +94,9 @@ storage: # resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000} # metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000} # segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200} +# advanced: +# index.translog.durability: "async" +# index.translog.sync_interval: "120s" elasticsearch7: nameSpace: ${SW_NAMESPACE:""} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} @@ -119,6 +122,9 @@ storage: # instead, give more query criteria (e.g. service id or time range), to narrow the query results. # see https://www.elastic.co/guide/en/elasticsearch/guide/current/pagination.html for more information indexMaxResultWindow: ${SW_STORAGE_ES_INDEX_MAX_RESULT_WINDOW:5000} +# advanced: +# index.translog.durability: "async" +# index.translog.sync_interval: "120s" # h2: # driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource} # url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db} diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchConfig.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchConfig.java index d8cea5e..5efc1fb 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchConfig.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchConfig.java @@ -18,6 +18,7 @@ package org.apache.skywalking.oap.server.storage.plugin.elasticsearch; +import java.util.Map; import lombok.Getter; import lombok.Setter; import org.apache.skywalking.oap.server.library.module.ModuleConfig; @@ -50,6 +51,7 @@ public class StorageModuleElasticsearchConfig extends ModuleConfig { @Setter private int dayMetricsDataTTL = 2; private int otherMetricsDataTTL = 0; @Setter private int monthMetricsDataTTL = 18; + @Setter private Map<String,Object> advanced; public int getMinuteMetricsDataTTL() { if (otherMetricsDataTTL > 0) { diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java index a025900..fac3580 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java @@ -132,7 +132,7 @@ public class StorageModuleElasticsearchProvider extends ModuleProvider { try { elasticSearchClient.connect(); - StorageEsInstaller installer = new StorageEsInstaller(getManager(), config.getIndexShardsNumber(), config.getIndexReplicasNumber(), config.getIndexRefreshInterval()); + StorageEsInstaller installer = new StorageEsInstaller(getManager(), config.getIndexShardsNumber(), config.getIndexReplicasNumber(), config.getIndexRefreshInterval(), config.getAdvanced()); installer.install(elasticSearchClient); RegisterLockInstaller lockInstaller = new RegisterLockInstaller(elasticSearchClient); diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java index 54fd6a9..9d74ce5 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java @@ -18,6 +18,9 @@ package org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import org.apache.skywalking.oap.server.core.storage.StorageException; import org.apache.skywalking.oap.server.core.storage.model.Model; import org.apache.skywalking.oap.server.core.storage.model.ModelColumn; @@ -29,10 +32,6 @@ import org.elasticsearch.common.unit.TimeValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - /** * @author peng-yongsheng */ @@ -43,14 +42,17 @@ public class StorageEsInstaller extends ModelInstaller { protected final int indexShardsNumber; protected final int indexReplicasNumber; protected final int indexRefreshInterval; + protected final Map<String,Object> advanced; protected final ColumnTypeEsMapping columnTypeEsMapping; - public StorageEsInstaller(ModuleManager moduleManager, int indexShardsNumber, int indexReplicasNumber, int indexRefreshInterval) { + public StorageEsInstaller(ModuleManager moduleManager, int indexShardsNumber, int indexReplicasNumber, int indexRefreshInterval, + Map<String, Object> advanced) { super(moduleManager); this.indexShardsNumber = indexShardsNumber; this.indexReplicasNumber = indexReplicasNumber; this.indexRefreshInterval = indexRefreshInterval; this.columnTypeEsMapping = new ColumnTypeEsMapping(); + this.advanced = advanced; } @Override protected boolean isExists(Client client, Model model) throws StorageException { @@ -108,6 +110,9 @@ public class StorageEsInstaller extends ModelInstaller { setting.put("index.number_of_replicas", indexReplicasNumber); setting.put("index.refresh_interval", record ? TimeValue.timeValueSeconds(10).toString() : TimeValue.timeValueSeconds(indexRefreshInterval).toString()); setting.put("analysis.analyzer.oap_analyzer.type", "stop"); + if(!advanced.isEmpty()){ + advanced.forEach(setting::put); + } return setting; } diff --git a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/StorageModuleElasticsearch7Provider.java b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/StorageModuleElasticsearch7Provider.java index e3cffac..0295db3 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/StorageModuleElasticsearch7Provider.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/StorageModuleElasticsearch7Provider.java @@ -134,7 +134,7 @@ public class StorageModuleElasticsearch7Provider extends ModuleProvider { try { elasticSearch7Client.connect(); - StorageEs7Installer installer = new StorageEs7Installer(getManager(), config); + StorageEs7Installer installer = new StorageEs7Installer(getManager(), config, config.getAdvanced()); installer.install(elasticSearch7Client); RegisterLockEs7Installer lockInstaller = new RegisterLockEs7Installer(elasticSearch7Client); diff --git a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/base/StorageEs7Installer.java b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/base/StorageEs7Installer.java index b8788a3..309d6e3 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/base/StorageEs7Installer.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/base/StorageEs7Installer.java @@ -37,8 +37,8 @@ public class StorageEs7Installer extends StorageEsInstaller { private final StorageModuleElasticsearch7Config config; public StorageEs7Installer(final ModuleManager moduleManager, - final StorageModuleElasticsearch7Config config) { - super(moduleManager, config.getIndexShardsNumber(), config.getIndexReplicasNumber(), config.getIndexRefreshInterval()); + final StorageModuleElasticsearch7Config config, final Map<String, Object> advanced) { + super(moduleManager, config.getIndexShardsNumber(), config.getIndexReplicasNumber(), config.getIndexRefreshInterval(), advanced); this.config = config; }