You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2023/03/25 14:57:03 UTC

[skywalking] branch master updated: Fix jdbc storage, delete table by mistake (#10592)

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

kezhenxu94 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 db82501873 Fix jdbc storage, delete table by mistake (#10592)
db82501873 is described below

commit db825018736d598ddf790e5fe05a21b357df8e79
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Sat Mar 25 22:56:56 2023 +0800

    Fix jdbc storage, delete table by mistake (#10592)
---
 .../server/storage/plugin/jdbc/common/dao/JDBCHistoryDeleteDAO.java  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

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 fe174f977b..9aa92dd464 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
@@ -75,16 +75,17 @@ public class JDBCHistoryDeleteDAO implements IHistoryDeleteDAO {
 
         final var ttlTables = tableHelper.getTablesForRead(model.getName(), startTimeBucket, endTimeBucket);
         final var tablesToDrop = new HashSet<String>();
+        final var tableName = TableHelper.getTableName(model);
 
         try (final var conn = jdbcClient.getConnection();
-             final var result = conn.getMetaData().getTables(null, null, TableHelper.getTableName(model) + "%", new String[]{"TABLE"})) {
+             final var result = conn.getMetaData().getTables(null, null, tableName + "%", new String[]{"TABLE"})) {
             while (result.next()) {
                 tablesToDrop.add(result.getString("TABLE_NAME"));
             }
         }
 
         ttlTables.forEach(tablesToDrop::remove);
-        tablesToDrop.removeIf(it -> !it.matches(".*_\\d{8}$"));
+        tablesToDrop.removeIf(it -> !it.matches(tableName + "_\\d{8}$"));
         for (final var table : tablesToDrop) {
             final var dropSql = new SQLBuilder("drop table if exists ").append(table);
             jdbcClient.executeUpdate(dropSql.toString());