You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2020/04/15 04:36:42 UTC
[skywalking] 01/01: Keep today's index always present. * Avoid TTL
timer to remove today's index * Create a today's index even without any
data.
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch es/ttl
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit d33d7d0b489f62151754bc93c2db70d36f8ec8a9
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Wed Apr 15 12:31:40 2020 +0800
Keep today's index always present.
* Avoid TTL timer to remove today's index
* Create a today's index even without any data.
Signed-off-by: Gao Hongtao <ha...@gmail.com>
---
.../plugin/elasticsearch/base/HistoryDeleteEsDAO.java | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/HistoryDeleteEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/HistoryDeleteEsDAO.java
index c62dbe2..c85eea0 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/HistoryDeleteEsDAO.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/HistoryDeleteEsDAO.java
@@ -78,20 +78,22 @@ public class HistoryDeleteEsDAO extends EsDAO implements IHistoryDeleteDAO {
List<String> indexes = client.retrievalIndexByAliases(model.getName());
List<String> prepareDeleteIndexes = new ArrayList<>();
+ List<String> leftIndices = new ArrayList<>();
for (String index : indexes) {
long timeSeries = TimeSeriesUtils.indexTimeSeries(index);
if (timeBefore >= timeSeries) {
prepareDeleteIndexes.add(index);
+ } else {
+ leftIndices.add(index);
}
}
-
- if (indexes.size() == prepareDeleteIndexes.size()) {
- client.createIndex(TimeSeriesUtils.timeSeries(model));
- }
-
for (String prepareDeleteIndex : prepareDeleteIndexes) {
client.deleteByIndexName(prepareDeleteIndex);
}
+ String todayIndex = TimeSeriesUtils.timeSeries(model);
+ if (!leftIndices.contains(todayIndex)) {
+ client.createIndex(TimeSeriesUtils.timeSeries(model));
+ }
} else {
int statusCode = client.delete(model.getName(), timeBucketColumnName, timeBefore);
if (logger.isDebugEnabled()) {