From ffc115cb763f6f04b9d66ea34a44963b59a4ffbe Mon Sep 17 00:00:00 2001 From: Richard <18310231437@163.com> Date: Tue, 30 May 2023 17:03:34 +0800 Subject: [PATCH] =?UTF-8?q?[Bugfix]=E4=BF=AE=E5=A4=8Des=E7=B4=A2=E5=BC=95c?= =?UTF-8?q?reate/delete=E6=AD=BB=E5=BE=AA=E7=8E=AF=E9=97=AE=E9=A2=98=20(#1?= =?UTF-8?q?021)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../km/persistence/es/dao/BaseMetricESDAO.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/es/dao/BaseMetricESDAO.java b/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/es/dao/BaseMetricESDAO.java index 48651dd7..77d7bbdf 100644 --- a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/es/dao/BaseMetricESDAO.java +++ b/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/es/dao/BaseMetricESDAO.java @@ -24,6 +24,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.stream.IntStream; import static com.xiaojukeji.know.streaming.km.common.constant.ESConstant.*; @@ -68,13 +69,11 @@ public class BaseMetricESDAO extends BaseESDAO { String indexTemplate = templateLoaderUtil.getContextByFileName(indexName); esOpClient.createIndexTemplateIfNotExist(indexName, indexTemplate); - //检查最近7天索引存在不存 - for(int i = 0; i < INDEX_DAYS; i++){ - String realIndex = IndexNameUtils.genDailyIndexName(indexName, i); - if(esOpClient.indexExist(realIndex)){continue;} - - esOpClient.createIndex(realIndex); - } + int retainDays = indexExpireDays > INDEX_DAYS ? INDEX_DAYS : indexExpireDays; + // 检查最近【retainDays】天索引存在不存 + IntStream.range(0, retainDays).mapToObj(i -> IndexNameUtils.genDailyIndexName(indexName, i)) + .filter(realIndex -> !esOpClient.indexExist(realIndex)) + .forEach(realIndex -> esOpClient.createIndex(realIndex)); } catch (Exception e) { LOGGER.error("method=checkCurrentDayIndexExist||errMsg=exception!", e); } @@ -94,8 +93,7 @@ public class BaseMetricESDAO extends BaseESDAO { indexExpireDays, indexList.subList(indexExpireDays, size)); } - indexList.subList(indexExpireDays, size).stream().forEach( - s -> esOpClient.delIndexByName(s)); + indexList.subList(indexExpireDays, size).forEach(s -> esOpClient.delIndexByName(s)); } }