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 a37f5cb  Revert "[Bug] Fix bug that DbTxnMgr does not create for db in 
CatalogRecycleBin" (#3611)
a37f5cb is described below

commit a37f5cb65797a3b90d03043eb70a9bb5be6b87cb
Author: Mingyu Chen <[email protected]>
AuthorDate: Mon May 18 13:08:36 2020 +0800

    Revert "[Bug] Fix bug that DbTxnMgr does not create for db in 
CatalogRecycleBin" (#3611)
    
    This revert is used to correct the mess of the commit
    timeline caused by the wrong merge method.
---
 .../java/org/apache/doris/catalog/Catalog.java     |  9 ++------
 .../apache/doris/catalog/CatalogRecycleBin.java    |  9 --------
 .../org/apache/doris/qe/AuditEventProcessor.java   |  1 -
 .../doris/transaction/GlobalTransactionMgr.java    | 26 +++++++++-------------
 4 files changed, 13 insertions(+), 32 deletions(-)

diff --git a/fe/src/main/java/org/apache/doris/catalog/Catalog.java 
b/fe/src/main/java/org/apache/doris/catalog/Catalog.java
index 19578ea..ed0564c 100755
--- a/fe/src/main/java/org/apache/doris/catalog/Catalog.java
+++ b/fe/src/main/java/org/apache/doris/catalog/Catalog.java
@@ -1803,15 +1803,10 @@ public class Catalog {
 
     public long loadRecycleBin(DataInputStream dis, long checksum) throws 
IOException {
         if (Catalog.getCurrentCatalogJournalVersion() >= 
FeMetaVersion.VERSION_10) {
-            recycleBin.readFields(dis);
+            Catalog.getCurrentRecycleBin().readFields(dis);
             if (!isCheckpointThread()) {
                 // add tablet in Recycle bin to TabletInvertedIndex
-                recycleBin.addTabletToInvertedIndex();
-            }
-            // create DatabaseTransactionMgr for db in recycle bin.
-            // these dbs do not exist in `idToDb` of the catalog.
-            for (Long dbId : recycleBin.getAllDbIds()) {
-                globalTransactionMgr.addDatabaseTransactionMgr(dbId);
+                Catalog.getCurrentRecycleBin().addTabletToInvertedIndex();
             }
         }
         return checksum;
diff --git a/fe/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java 
b/fe/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java
index 2307908..fae59a0 100644
--- a/fe/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java
+++ b/fe/src/main/java/org/apache/doris/catalog/CatalogRecycleBin.java
@@ -36,7 +36,6 @@ import org.apache.doris.task.DropReplicaTask;
 import org.apache.doris.thrift.TStorageMedium;
 
 import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Range;
 import com.google.common.collect.Sets;
@@ -173,9 +172,6 @@ public class CatalogRecycleBin extends MasterDaemon 
implements Writable {
                 iterator.remove();
                 idToRecycleTime.remove(entry.getKey());
 
-                // remove database transaction manager
-                
Catalog.getCurrentCatalog().getGlobalTransactionMgr().removeDatabaseTransactionMgr(db.getId());
-
                 LOG.info("erase database[{}] name: {}", db.getId(), dbName);
             }
         }
@@ -891,9 +887,4 @@ public class CatalogRecycleBin extends MasterDaemon 
implements Writable {
             }
         }
     }
-    
-    // currently only used when loading image. So no synchronized protected.
-    public List<Long> getAllDbIds() {
-        return Lists.newArrayList(idToDatabase.keySet());
-    }
 }
diff --git a/fe/src/main/java/org/apache/doris/qe/AuditEventProcessor.java 
b/fe/src/main/java/org/apache/doris/qe/AuditEventProcessor.java
index a648dc9..bc621e7 100644
--- a/fe/src/main/java/org/apache/doris/qe/AuditEventProcessor.java
+++ b/fe/src/main/java/org/apache/doris/qe/AuditEventProcessor.java
@@ -56,7 +56,6 @@ public class AuditEventProcessor {
 
     public void start() {
         workerThread = new Thread(new Worker(), "AuditEventProcessor");
-        workerThread.setDaemon(true);
         workerThread.start();
     }
 
diff --git 
a/fe/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java 
b/fe/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java
index 456c927..5f8fd92 100644
--- a/fe/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java
+++ b/fe/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java
@@ -79,15 +79,11 @@ public class GlobalTransactionMgr implements Writable {
     }
 
     public void addDatabaseTransactionMgr(Long dbId) {
-        if (dbIdToDatabaseTransactionMgrs.putIfAbsent(dbId, new 
DatabaseTransactionMgr(dbId, catalog, idGenerator)) == null) {
-            LOG.debug("add database transaction manager for db {}", dbId);
-        }
+        dbIdToDatabaseTransactionMgrs.putIfAbsent(dbId, new 
DatabaseTransactionMgr(dbId, catalog, idGenerator));
     }
 
     public void removeDatabaseTransactionMgr(Long dbId) {
-        if (dbIdToDatabaseTransactionMgrs.remove(dbId) != null) {
-            LOG.debug("remove database transaction manager for db {}", dbId);
-        }
+        dbIdToDatabaseTransactionMgrs.remove(dbId);
     }
 
     public long beginTransaction(long dbId, List<Long> tableIdList, String 
label, TxnCoordinator coordinator, LoadJobSourceType sourceType,
@@ -359,19 +355,19 @@ public class GlobalTransactionMgr implements Writable {
     }
     
     public void readFields(DataInput in) throws IOException {
-        int numTransactions = in.readInt();
-        for (int i = 0; i < numTransactions; ++i) {
-            TransactionState transactionState = new TransactionState();
-            transactionState.readFields(in);
-            try {
+        try {
+            int numTransactions = in.readInt();
+            for (int i = 0; i < numTransactions; ++i) {
+                TransactionState transactionState = new TransactionState();
+                transactionState.readFields(in);
                 DatabaseTransactionMgr dbTransactionMgr = 
getDatabaseTransactionMgr(transactionState.getDbId());
                 
dbTransactionMgr.unprotectUpsertTransactionState(transactionState, true);
-            } catch (AnalysisException e) {
-                LOG.warn("failed to get db transaction manager for txn: {}", 
transactionState);
-                throw new IOException("Read transaction states failed", e);
             }
+            idGenerator.readFields(in);
+        } catch (AnalysisException e) {
+            throw new IOException("Read transaction states failed", e);
         }
-        idGenerator.readFields(in);
+
     }
 
     public TransactionState getTransactionStateByCallbackIdAndStatus(long 
dbId, long callbackId, Set<TransactionStatus> status) {


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

Reply via email to