This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch ttl-bug
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 5a11db4fb81c07b3e3345630263363fb9bd591f8
Author: Wu Sheng <[email protected]>
AuthorDate: Tue Oct 26 17:00:06 2021 +0800

    Fix TimeBucket missing in H2, MySQL, TiDB and PostgreSQL bug
---
 CHANGES.md                                         | 36 ++++++++++++----------
 .../analysis/manual/service/ServiceTraffic.java    |  4 +--
 2 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 831aecb..6a2623c 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -4,26 +4,27 @@ Release Notes.
 
 8.9.0
 ------------------
+
 #### Project
 
 * Replace e2e cases to e2e-v2:
-  - Simple: JDK, Auth, SSL, mTLS
-  - Lua Nginx
-  - SelfObservability
-  - Gateway
-  - Meter
-  - Nodejs
-  - PHP
-  - VM: Prometheus Node Exporter, Zabbix
-  - go2sky
-  - log
-  - Python
-  - Storage
-  - Cluster
-  - Event
-  - Profile
-  - Kafka: Base, Meter, Log, Profile
-  - Client-JS
+    - Simple: JDK, Auth, SSL, mTLS
+    - Lua Nginx
+    - SelfObservability
+    - Gateway
+    - Meter
+    - Nodejs
+    - PHP
+    - VM: Prometheus Node Exporter, Zabbix
+    - go2sky
+    - log
+    - Python
+    - Storage
+    - Cluster
+    - Event
+    - Profile
+    - Kafka: Base, Meter, Log, Profile
+    - Client-JS
 * Support JDK 16 and 17.
 
 #### OAP Server
@@ -54,6 +55,7 @@ Release Notes.
 * Set `SW_KAFKA_FETCHER_ENABLE_NATIVE_PROTO_LOG`, 
`SW_KAFKA_FETCHER_ENABLE_NATIVE_JSON_LOG` default `true`.
 * Fix unexpected deleting due to TTL mechanism bug for H2, MySQL, TiDB and 
PostgreSQL.
 * Add a GraphQL query to get OAP version, display OAP version in startup 
message and error logs.
+* Fix TimeBucket missing in H2, MySQL, TiDB and PostgreSQL bug, which causes 
TTL doesn't work for `service_traffic`.
 
 #### UI
 
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
index d5ab808..74b3865 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
@@ -80,7 +80,6 @@ public class ServiceTraffic extends Metrics {
     public void deserialize(final RemoteData remoteData) {
         setName(remoteData.getDataStrings(0));
         setNodeType(NodeType.valueOf(remoteData.getDataIntegers(0)));
-        // Time bucket is not a part of persistent, but still is required in 
the first time insert.
         setTimeBucket(remoteData.getDataLongs(0));
     }
 
@@ -89,7 +88,6 @@ public class ServiceTraffic extends Metrics {
         final RemoteData.Builder builder = RemoteData.newBuilder();
         builder.addDataStrings(name);
         builder.addDataIntegers(nodeType.value());
-        // Time bucket is not a part of persistent, but still is required in 
the first time insert.
         builder.addDataLongs(getTimeBucket());
         return builder;
     }
@@ -102,6 +100,7 @@ public class ServiceTraffic extends Metrics {
             serviceTraffic.setName((String) dbMap.get(NAME));
             serviceTraffic.setNodeType(NodeType.valueOf(((Number) 
dbMap.get(NODE_TYPE)).intValue()));
             serviceTraffic.setGroup((String) dbMap.get(GROUP));
+            serviceTraffic.setTimeBucket(((Number) 
dbMap.get(TIME_BUCKET)).longValue());
             return serviceTraffic;
         }
 
@@ -118,6 +117,7 @@ public class ServiceTraffic extends Metrics {
             map.put(NAME, serviceName);
             map.put(NODE_TYPE, storageData.getNodeType().value());
             map.put(GROUP, storageData.getGroup());
+            map.put(TIME_BUCKET, storageData.getTimeBucket());
             return map;
         }
     }

Reply via email to