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

rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 019f2c60ceb server: fix vm_stats records are not removed if batchsize 
is 0 (#9818)
019f2c60ceb is described below

commit 019f2c60ceb7a7c15c670a98280bd5764a5fcf5b
Author: Wei Zhou <[email protected]>
AuthorDate: Fri Oct 18 11:22:46 2024 +0200

    server: fix vm_stats records are not removed if batchsize is 0 (#9818)
---
 .../src/main/java/com/cloud/storage/dao/VolumeStatsDaoImpl.java  | 9 +--------
 engine/schema/src/main/java/com/cloud/vm/dao/VmStatsDaoImpl.java | 9 +--------
 framework/db/src/main/java/com/cloud/utils/db/GenericDao.java    | 8 --------
 .../db/src/main/java/com/cloud/utils/db/GenericDaoBase.java      | 7 -------
 server/src/test/java/com/cloud/user/MockUsageEventDao.java       | 5 -----
 5 files changed, 2 insertions(+), 36 deletions(-)

diff --git 
a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeStatsDaoImpl.java 
b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeStatsDaoImpl.java
index d1149e47408..e4c19fd1666 100644
--- a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeStatsDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeStatsDaoImpl.java
@@ -126,14 +126,7 @@ public class VolumeStatsDaoImpl extends 
GenericDaoBase<VolumeStatsVO, Long> impl
 
         logger.debug(String.format("Starting to remove all volume_stats rows 
older than [%s].", limitDate));
 
-        long totalRemoved = 0;
-        long removed;
-
-        do {
-            removed = expunge(sc, limitPerQuery);
-            totalRemoved += removed;
-            logger.trace(String.format("Removed [%s] volume_stats rows on the 
last update and a sum of [%s] volume_stats rows older than [%s] until now.", 
removed, totalRemoved, limitDate));
-        } while (limitPerQuery > 0 && removed >= limitPerQuery);
+        long totalRemoved = batchExpunge(sc, limitPerQuery);
 
         logger.info(String.format("Removed a total of [%s] volume_stats rows 
older than [%s].", totalRemoved, limitDate));
     }
diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/VmStatsDaoImpl.java 
b/engine/schema/src/main/java/com/cloud/vm/dao/VmStatsDaoImpl.java
index aa58e489364..327acec0c17 100644
--- a/engine/schema/src/main/java/com/cloud/vm/dao/VmStatsDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/vm/dao/VmStatsDaoImpl.java
@@ -123,14 +123,7 @@ public class VmStatsDaoImpl extends 
GenericDaoBase<VmStatsVO, Long> implements V
 
         logger.debug(String.format("Starting to remove all vm_stats rows older 
than [%s].", limitDate));
 
-        long totalRemoved = 0;
-        long removed;
-
-        do {
-            removed = expunge(sc, limitPerQuery);
-            totalRemoved += removed;
-            logger.trace(String.format("Removed [%s] vm_stats rows on the last 
update and a sum of [%s] vm_stats rows older than [%s] until now.", removed, 
totalRemoved, limitDate));
-        } while (limitPerQuery > 0 && removed >= limitPerQuery);
+        long totalRemoved = batchExpunge(sc, limitPerQuery);
 
         logger.info(String.format("Removed a total of [%s] vm_stats rows older 
than [%s].", totalRemoved, limitDate));
     }
diff --git a/framework/db/src/main/java/com/cloud/utils/db/GenericDao.java 
b/framework/db/src/main/java/com/cloud/utils/db/GenericDao.java
index 84750c2068c..de8838b0999 100644
--- a/framework/db/src/main/java/com/cloud/utils/db/GenericDao.java
+++ b/framework/db/src/main/java/com/cloud/utils/db/GenericDao.java
@@ -247,14 +247,6 @@ public interface GenericDao<T, ID extends Serializable> {
 
     int expungeList(List<ID> ids);
 
-    /**
-     * Delete the entity beans specified by the search criteria with a given 
limit
-     * @param sc Search criteria
-     * @param limit Maximum number of rows that will be affected
-     * @return Number of rows deleted
-     */
-    int expunge(SearchCriteria<T> sc, long limit);
-
     /**
      * expunge the removed rows.
      */
diff --git a/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java 
b/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
index 0f6270a0593..82fea9749ff 100644
--- a/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
+++ b/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
@@ -1244,13 +1244,6 @@ public abstract class GenericDaoBase<T, ID extends 
Serializable> extends Compone
         }
     }
 
-    // FIXME: Does not work for joins.
-    @Override
-    public int expunge(final SearchCriteria<T> sc, long limit) {
-        Filter filter = new Filter(limit);
-        return expunge(sc, filter);
-    }
-
     @Override
     public int expunge(final SearchCriteria<T> sc, final Filter filter) {
         if (sc == null) {
diff --git a/server/src/test/java/com/cloud/user/MockUsageEventDao.java 
b/server/src/test/java/com/cloud/user/MockUsageEventDao.java
index fb8c193780f..7e15a4f0aaf 100644
--- a/server/src/test/java/com/cloud/user/MockUsageEventDao.java
+++ b/server/src/test/java/com/cloud/user/MockUsageEventDao.java
@@ -210,11 +210,6 @@ public class MockUsageEventDao implements UsageEventDao{
         return 0;
     }
 
-    @Override
-    public int expunge(SearchCriteria<UsageEventVO> sc, long limit) {
-        return 0;
-    }
-
     @Override
     public void expunge() {
 

Reply via email to