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 0f7844278a Fix day-based table rolling time range strategy in JDBC storage. (#11915) 0f7844278a is described below commit 0f7844278a9ba5e8ddc9eafa6669f80e77a169a0 Author: Chen Ziyan <clairelove.c...@gmail.com> AuthorDate: Thu Feb 22 23:15:38 2024 +0800 Fix day-based table rolling time range strategy in JDBC storage. (#11915) --- docs/en/changes/changes.md | 1 + .../java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java | 4 ++-- .../skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java | 2 +- .../server/storage/plugin/jdbc/common/dao/JDBCHistoryDeleteDAO.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md index 27ec171c11..d84775062a 100644 --- a/docs/en/changes/changes.md +++ b/docs/en/changes/changes.md @@ -53,6 +53,7 @@ * Fix ServiceInstance `in` query. * Mock `/api/v1/status/buildinfo` for PromQL API. * Fix table exists check in the JDBC Storage Plugin. +* Fix day-based table rolling time range strategy in JDBC storage. #### UI diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java index 03eed9a30d..03f166385a 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java @@ -68,12 +68,12 @@ public class CoreModuleConfig extends ModuleConfig { * The time to live of all metrics data. Unit is day. */ - private int metricsDataTTL = 3; + private int metricsDataTTL = 7; /** * The time to live of all record data, including tracing. Unit is Day. */ - private int recordDataTTL = 7; + private int recordDataTTL = 3; private int gRPCThreadPoolSize; diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java index 2f6237d2fe..95575b6da7 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java @@ -202,7 +202,7 @@ public class TableHelper { getConfigService().getRecordDataTTL() : getConfigService().getMetricsDataTTL(); return LongStream - .rangeClosed(0, ttl) + .range(0, ttl) .mapToObj(it -> TimeBucket.getTimeBucket(System.currentTimeMillis() - TimeUnit.DAYS.toMillis(it), DownSampling.Day)) .distinct() .collect(toList()); diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCHistoryDeleteDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCHistoryDeleteDAO.java index 0270a76c27..33997f11a9 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCHistoryDeleteDAO.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCHistoryDeleteDAO.java @@ -51,7 +51,7 @@ public class JDBCHistoryDeleteDAO implements IHistoryDeleteDAO { @SneakyThrows public void deleteHistory(Model model, String timeBucketColumnName, int ttl) { final var endTimeBucket = TimeBucket.getTimeBucket(clock.millis() + TimeUnit.DAYS.toMillis(1), DownSampling.Day); - final var startTimeBucket = TimeBucket.getTimeBucket(clock.millis() - TimeUnit.DAYS.toMillis(ttl), DownSampling.Day); + final var startTimeBucket = TimeBucket.getTimeBucket(clock.millis() - TimeUnit.DAYS.toMillis(ttl - 1), DownSampling.Day); log.info( "Deleting history data, ttl: {}, now: {}. Keep [{}, {}]", ttl,