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());