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 <kezhenx...@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());

Reply via email to