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

jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new 3877dcd134 [ISSUE #7853] Fix the manualDeleteFileSeveralTimes count
3877dcd134 is described below

commit 3877dcd134d516c3dc547a72daa12964a125d41e
Author: ChineseTony <[email protected]>
AuthorDate: Thu Feb 29 10:48:31 2024 +0800

    [ISSUE #7853] Fix the manualDeleteFileSeveralTimes count
---
 .../org/apache/rocketmq/store/DefaultMessageStore.java     | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git 
a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java 
b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
index 48a3adcc08..1392d64e34 100644
--- a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
+++ b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
@@ -2183,7 +2183,7 @@ public class DefaultMessageStore implements MessageStore {
             System.getProperty("rocketmq.broker.diskSpaceCleanForciblyRatio", 
"");
         private long lastRedeleteTimestamp = 0;
 
-        private volatile int manualDeleteFileSeveralTimes = 0;
+        private final AtomicInteger manualDeleteFileSeveralTimes = new 
AtomicInteger();
 
         private volatile boolean cleanImmediately = false;
 
@@ -2226,7 +2226,7 @@ public class DefaultMessageStore implements MessageStore {
         }
 
         public void executeDeleteFilesManually() {
-            this.manualDeleteFileSeveralTimes = MAX_MANUAL_DELETE_FILE_TIMES;
+            
this.manualDeleteFileSeveralTimes.set(MAX_MANUAL_DELETE_FILE_TIMES);
             DefaultMessageStore.LOGGER.info("executeDeleteFilesManually was 
invoked");
         }
 
@@ -2248,12 +2248,12 @@ public class DefaultMessageStore implements 
MessageStore {
 
             boolean isTimeUp = this.isTimeToDelete();
             boolean isUsageExceedsThreshold = this.isSpaceToDelete();
-            boolean isManualDelete = this.manualDeleteFileSeveralTimes > 0;
+            boolean isManualDelete = this.manualDeleteFileSeveralTimes.get() > 
0;
 
             if (isTimeUp || isUsageExceedsThreshold || isManualDelete) {
 
                 if (isManualDelete) {
-                    this.manualDeleteFileSeveralTimes--;
+                    this.manualDeleteFileSeveralTimes.decrementAndGet();
                 }
 
                 boolean cleanAtOnce = 
DefaultMessageStore.this.getMessageStoreConfig().isCleanFileForciblyEnable() && 
this.cleanImmediately;
@@ -2262,7 +2262,7 @@ public class DefaultMessageStore implements MessageStore {
                     fileReservedTime,
                     isTimeUp,
                     isUsageExceedsThreshold,
-                    manualDeleteFileSeveralTimes,
+                    manualDeleteFileSeveralTimes.get(),
                     cleanAtOnce,
                     deleteFileBatchMax);
 
@@ -2407,11 +2407,11 @@ public class DefaultMessageStore implements 
MessageStore {
         }
 
         public int getManualDeleteFileSeveralTimes() {
-            return manualDeleteFileSeveralTimes;
+            return manualDeleteFileSeveralTimes.get();
         }
 
         public void setManualDeleteFileSeveralTimes(int 
manualDeleteFileSeveralTimes) {
-            this.manualDeleteFileSeveralTimes = manualDeleteFileSeveralTimes;
+            
this.manualDeleteFileSeveralTimes.set(manualDeleteFileSeveralTimes);
         }
 
         public double calcStorePathPhysicRatio() {

Reply via email to