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,

Reply via email to