You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2021/01/19 02:26:02 UTC

[incubator-doris] branch master updated: [Bug] Fix fe restart failed bug when replay erase table log (#5221)

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 <54...@users.noreply.github.com>
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 <ge...@dorisdb.com>
---
 .../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: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org