You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2021/09/23 02:46:22 UTC
[skywalking] branch master updated: Only report `bug warning` in
precise conditions. (#7772)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new c4b8c66 Only report `bug warning` in precise conditions. (#7772)
c4b8c66 is described below
commit c4b8c661745d816931303f8b612a7d177c3ab407
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Thu Sep 23 10:46:08 2021 +0800
Only report `bug warning` in precise conditions. (#7772)
* Only report `bug warning` in precise conditions.
* Add a test check for template existing.
---
.../skywalking/library/elasticsearch/ITElasticSearchTest.java | 2 ++
.../storage/plugin/elasticsearch/base/StorageEsInstaller.java | 11 +++++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java b/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java
index 6d07164..82ab79c 100644
--- a/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java
+++ b/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java
@@ -99,6 +99,8 @@ public class ITElasticSearchTest {
assertThat(templateClient.createOrUpdate(name, ImmutableMap.of(), mappings, 0))
.isTrue();
+ assertThat(templateClient.exists(name)).isTrue();
+
assertThat(templateClient.get(name))
.isPresent()
.map(IndexTemplate::getMappings)
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 b678a98..1b464fc 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
@@ -70,14 +70,17 @@ public class StorageEsInstaller extends ModelInstaller {
if (!model.isTimeSeries()) {
return esClient.isExistsIndex(tableName);
}
- boolean exist = esClient.isExistsTemplate(tableName)
- && esClient.isExistsIndex(TimeSeriesUtils.latestWriteIndexName(model));
+ boolean templateExists = esClient.isExistsTemplate(tableName);
final Optional<IndexTemplate> template = esClient.getTemplate(tableName);
+ boolean lastIndexExists = esClient.isExistsIndex(TimeSeriesUtils.latestWriteIndexName(model));
- if ((exist && !template.isPresent()) || (!exist && template.isPresent())) {
- throw new Error("[Bug warning]ElasticSearch client query template result is not consistent. Please file an issue to Apache SkyWalking.(https://github.com/apache/skywalking/issues)");
+ if ((templateExists && !template.isPresent()) || (!templateExists && template.isPresent())) {
+ throw new Error("[Bug warning] ElasticSearch client query template result is not consistent. " +
+ "Please file an issue to Apache SkyWalking.(https://github.com/apache/skywalking/issues)");
}
+ boolean exist = templateExists && lastIndexExists;
+
if (exist && IndexController.INSTANCE.isMetricModel(model)) {
structures.putStructure(
tableName, template.get().getMappings()