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

benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampark.git


The following commit(s) were added to refs/heads/dev by this push:
     new 9738a5dd6 [Bug] ApplicationBackUpCleanTask Runtime Error (#4253)
9738a5dd6 is described below

commit 9738a5dd645e3b2bc115ac916af00623955b7bf0
Author: Gianzie <[email protected]>
AuthorDate: Sun Jun 8 22:03:38 2025 +0800

    [Bug] ApplicationBackUpCleanTask Runtime Error (#4253)
    
    * [Bug] ApplicationBackUpCleanTask Runtime Error
    
    * [Improve] Prevent SQL injection
---
 .../console/core/task/ApplicationBackUpCleanTask.java      | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ApplicationBackUpCleanTask.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ApplicationBackUpCleanTask.java
index 8f81eeedb..4298200bd 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ApplicationBackUpCleanTask.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ApplicationBackUpCleanTask.java
@@ -40,15 +40,21 @@ public class ApplicationBackUpCleanTask {
     public void backUpClean() {
         log.info("Start to clean application backup");
         // select all application backup which count > maxBackupNum group by 
app_id
-        backUpService.lambdaQuery().groupBy(FlinkApplicationBackup::getAppId)
-            .having("count(*) > " + maxBackupNum).list().stream()
+        backUpService.lambdaQuery()
+            .select(FlinkApplicationBackup::getAppId)
+            .groupBy(FlinkApplicationBackup::getAppId)
+            .having("COUNT(*) > {0}", maxBackupNum)
+            .list()
+            .stream()
             .map(FlinkApplicationBackup::getAppId)
             .forEach(
                 appId -> {
                     // order by create_time desc and skip first maxBackupNum 
records and delete
                     // others
-                    
backUpService.lambdaQuery().eq(FlinkApplicationBackup::getAppId, appId)
-                        
.orderByDesc(FlinkApplicationBackup::getCreateTime).list()
+                    backUpService.lambdaQuery()
+                        .eq(FlinkApplicationBackup::getAppId, appId)
+                        .orderByDesc(FlinkApplicationBackup::getCreateTime)
+                        .list()
                         .stream()
                         .skip(maxBackupNum)
                         .forEach(

Reply via email to