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]