fix the bug that wal cannot be removed
diff --git a/server/src/main/java/org/apache/iotdb/db/wal/WALManager.java b/server/src/main/java/org/apache/iotdb/db/wal/WALManager.java
index 36db197..d041114 100644
--- a/server/src/main/java/org/apache/iotdb/db/wal/WALManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/wal/WALManager.java
@@ -202,7 +202,7 @@
   }
 
   public boolean shouldThrottle() {
-    return getTotalDiskUsage() >= config.getThrottleThreshold();
+    return getTotalDiskUsage() >= config.getThrottleThreshold() * 0.8;
   }
 
   public long getTotalDiskUsage() {
diff --git a/server/src/main/java/org/apache/iotdb/db/wal/node/WALNode.java b/server/src/main/java/org/apache/iotdb/db/wal/node/WALNode.java
index 4891062..8a040a9 100644
--- a/server/src/main/java/org/apache/iotdb/db/wal/node/WALNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/wal/node/WALNode.java
@@ -240,13 +240,7 @@
           identifier,
           firstValidVersionId,
           safelyDeletedSearchIndex);
-      boolean pinnedByIoTConsensus = deleteOutdatedFiles();
-      if (pinnedByIoTConsensus) {
-        logger.debug(
-            "Cannot delete wal files for wal node-{} because of wal files are pinned by IoTConsensus.",
-            identifier);
-        return;
-      }
+      deleteOutdatedFiles();
 
       // calculate effective information ratio
       long costOfActiveMemTables = checkpointManager.getTotalCostOfActiveMemTables();
@@ -277,6 +271,10 @@
           config.getWalMinEffectiveInfoRatio());
       boolean isSuccess = snapshotOrFlushMemTable();
       if (isSuccess && recursionTime < MAX_RECURSION_TIME) {
+        // wal is used to search, cannot optimize files deletion
+        if (safelyDeletedSearchIndex != DEFAULT_SAFELY_DELETED_SEARCH_INDEX) {
+          return;
+        }
         recursionTime++;
         run();
       }