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

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git


The following commit(s) were added to refs/heads/master by this push:
     new a59831d  [Bug] Fix fe restart failed bug when replay erase table log 
(#5221)
a59831d is described below

commit a59831d1193126d2fdfbcde11c4430c6e5418537
Author: gengjun-git <[email protected]>
AuthorDate: Tue Jan 19 10:25:49 2021 +0800

    [Bug] Fix fe restart failed bug when replay erase table log (#5221)
    
    Co-authored-by: gengjun <[email protected]>
---
 .../main/java/org/apache/doris/catalog/CatalogRecycleBin.java    | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java
index db3185e..4f2788c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java
@@ -55,6 +55,9 @@ import java.util.Set;
 
 public class CatalogRecycleBin extends MasterDaemon implements Writable {
     private static final Logger LOG = 
LogManager.getLogger(CatalogRecycleBin.class);
+    // erase meta at least after minEraseLatency milliseconds
+    // to avoid erase log ahead of drop log
+    private static final long minEraseLatency = 10 * 60 * 1000;  // 10 min
 
     private Map<Long, RecycleDatabaseInfo> idToDatabase;
     private Map<Long, RecycleTableInfo> idToTable;
@@ -130,10 +133,8 @@ public class CatalogRecycleBin extends MasterDaemon 
implements Writable {
     }
 
     private synchronized boolean isExpire(long id, long currentTimeMs) {
-        if (currentTimeMs - idToRecycleTime.get(id) > 
Config.catalog_trash_expire_second * 1000L) {
-            return true;
-        }
-        return false;
+        long latency = currentTimeMs - idToRecycleTime.get(id);
+        return latency > minEraseLatency && latency > 
Config.catalog_trash_expire_second * 1000L;
     }
 
     private synchronized void eraseDatabase(long currentTimeMs) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to