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

caiconghui pushed a commit to branch transaction_quota
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 1ec6b28323cce8fe9865b6f0a7b42e1079ea7b91
Author: caiconghui1 <caicongh...@jd.com>
AuthorDate: Thu Feb 8 00:48:33 2024 +0800

    [enhancement](transatcion) show more details about transactuin num when 
execute show data stmt
---
 .../org/apache/doris/analysis/ShowDataStmt.java    | 42 +++++++++------
 .../transaction/CloudGlobalTransactionMgr.java     |  6 +++
 .../org/apache/doris/common/proc/DbsProcDir.java   |  5 +-
 .../doris/transaction/DatabaseTransactionMgr.java  | 59 +++++++++-------------
 .../doris/transaction/GlobalTransactionMgr.java    |  7 ++-
 .../transaction/GlobalTransactionMgrIface.java     |  3 ++
 .../apache/doris/analysis/ShowDataStmtTest.java    |  6 +--
 .../apache/doris/common/proc/DbsProcDirTest.java   | 27 ++++++++--
 .../transaction/DatabaseTransactionMgrTest.java    |  8 +--
 9 files changed, 96 insertions(+), 67 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java
index ddaf27fa539..7b948e28fd0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java
@@ -49,6 +49,7 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
@@ -60,6 +61,7 @@ public class ShowDataStmt extends ShowStmt {
                     .addColumn(new Column("Size", 
ScalarType.createVarchar(30)))
                     .addColumn(new Column("ReplicaCount", 
ScalarType.createVarchar(20)))
                     .addColumn(new Column("RemoteSize", 
ScalarType.createVarchar(30)))
+                    .addColumn(new Column("TransactionNum", 
ScalarType.createVarchar(30)))
                     .build();
 
     private static final ShowResultSetMetaData SHOW_INDEX_DATA_META_DATA =
@@ -73,7 +75,7 @@ public class ShowDataStmt extends ShowStmt {
                     .build();
     public static final ImmutableList<String> SHOW_TABLE_DATA_META_DATA_ORIGIN 
=
             new 
ImmutableList.Builder<String>().add("TableName").add("Size").add("ReplicaCount")
-            .add("RemoteSize").build();
+            .add("RemoteSize").add("TransactionNum").build();
 
     public static final ImmutableList<String> SHOW_INDEX_DATA_META_DATA_ORIGIN 
=
             new 
ImmutableList.Builder<String>().add("TableName").add("IndexName").add("Size").add("ReplicaCount")
@@ -123,6 +125,16 @@ public class ShowDataStmt extends ShowStmt {
         }
 
         if (tableName == null) {
+            Map<Long, List<Long>> transToTableListInfo = 
Env.getCurrentGlobalTransactionMgr()
+                    .getDbRunningTransInfo(db.getId());
+            Map<Long, Long> tableToTransNumInfo = Maps.newHashMap();
+            for (Entry<Long, List<Long>> transWithTableList : 
transToTableListInfo.entrySet()) {
+                for (Long tableId : transWithTableList.getValue()) {
+                    Long transNum = tableToTransNumInfo.getOrDefault(tableId, 
0L);
+                    transNum++;
+                    tableToTransNumInfo.put(tableId, transNum);
+                }
+            }
             db.readLock();
             try {
                 long totalSize = 0;
@@ -155,6 +167,7 @@ public class ShowDataStmt extends ShowStmt {
                     long tableSize = 0;
                     long replicaCount = 0;
                     long remoteSize = 0;
+                    long transNum = 
tableToTransNumInfo.getOrDefault(table.getId(), 0L);
                     olapTable.readLock();
                     try {
                         tableSize = olapTable.getDataSize();
@@ -163,8 +176,8 @@ public class ShowDataStmt extends ShowStmt {
                     } finally {
                         olapTable.readUnlock();
                     }
-                    //|TableName|Size|ReplicaCount|RemoteSize
-                    List<Object> row = Arrays.asList(table.getName(), 
tableSize, replicaCount, remoteSize);
+                    //|TableName|Size|ReplicaCount|RemoteSize|TransactionNum
+                    List<Object> row = Arrays.asList(table.getName(), 
tableSize, replicaCount, remoteSize, transNum);
                     totalRowsObject.add(row);
 
                     totalSize += tableSize;
@@ -193,7 +206,7 @@ public class ShowDataStmt extends ShowStmt {
                     String remoteReadableSize = 
DebugUtil.DECIMAL_FORMAT_SCALE_3.format(remoteSizePair.first) + " "
                             + remoteSizePair.second;
                     List<String> result = 
Arrays.asList(String.valueOf(row.get(0)),
-                            readableSize, String.valueOf(row.get(2)), 
remoteReadableSize);
+                            readableSize, String.valueOf(row.get(2)), 
remoteReadableSize, "");
                     totalRows.add(result);
                 }
 
@@ -204,33 +217,31 @@ public class ShowDataStmt extends ShowStmt {
                 String remoteReadableSize = 
DebugUtil.DECIMAL_FORMAT_SCALE_3.format(totalRemoteSizePair.first) + " "
                         + totalRemoteSizePair.second;
                 List<String> total = Arrays.asList("Total", readableSize, 
String.valueOf(totalReplicaCount),
-                         remoteReadableSize);
+                         remoteReadableSize, 
String.valueOf(transToTableListInfo.size()));
                 totalRows.add(total);
 
                 // quota
                 long quota = db.getDataQuota();
                 long replicaQuota = db.getReplicaQuota();
+                long transactionQuota = db.getTransactionQuotaSize();
                 Pair<Double, String> quotaPair = DebugUtil.getByteUint(quota);
                 String readableQuota = 
DebugUtil.DECIMAL_FORMAT_SCALE_3.format(quotaPair.first) + " "
                         + quotaPair.second;
 
-                List<String> quotaRow = Arrays.asList("Quota", readableQuota, 
String.valueOf(replicaQuota), "");
+                List<String> quotaRow = Arrays.asList("Quota", readableQuota, 
String.valueOf(replicaQuota), "",
+                        String.valueOf(transactionQuota));
                 totalRows.add(quotaRow);
 
                 // left
                 long left = Math.max(0, quota - totalSize);
                 long replicaCountLeft = Math.max(0, replicaQuota - 
totalReplicaCount);
+                long transNumLeft = Math.max(0, transactionQuota - 
transToTableListInfo.size());
                 Pair<Double, String> leftPair = DebugUtil.getByteUint(left);
                 String readableLeft = 
DebugUtil.DECIMAL_FORMAT_SCALE_3.format(leftPair.first) + " "
                         + leftPair.second;
-                List<String> leftRow = Arrays.asList("Left", readableLeft, 
String.valueOf(replicaCountLeft), "");
+                List<String> leftRow = Arrays.asList("Left", readableLeft, 
String.valueOf(replicaCountLeft),
+                        String.valueOf(transNumLeft));
                 totalRows.add(leftRow);
-
-                // txn quota
-                long txnQuota = db.getTransactionQuotaSize();
-                List<String> transactionQuotaList = Arrays.asList("Transaction 
Quota",
-                        String.valueOf(txnQuota), String.valueOf(txnQuota), 
"");
-                totalRows.add(transactionQuotaList);
             } finally {
                 db.readUnlock();
             }
@@ -385,11 +396,10 @@ public class ShowDataStmt extends ShowStmt {
     public String toSql() {
         StringBuilder builder = new StringBuilder();
         builder.append("SHOW DATA");
-        builder.append(" FROM ");
+
         if (tableName != null) {
+            builder.append(" FROM ");
             builder.append(tableName.toSql());
-        } else {
-            builder.append("`").append(dbName).append("`");
         }
 
         // Order By clause
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
 
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
index 134c4f50565..e51f91b1a8d 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
@@ -83,6 +83,7 @@ import java.io.DataOutput;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.TimeoutException;
 
 public class CloudGlobalTransactionMgr implements GlobalTransactionMgrIface {
@@ -776,6 +777,11 @@ public class CloudGlobalTransactionMgr implements 
GlobalTransactionMgrIface {
         throw new AnalysisException(NOT_SUPPORTED_MSG);
     }
 
+    @Override
+    public Map<Long, List<Long>> getDbRunningTransInfo(long dbId) throws 
AnalysisException {
+        throw new AnalysisException(NOT_SUPPORTED_MSG);
+    }
+
     @Override
     public List<List<String>> getDbTransInfoByStatus(Long dbId, 
TransactionStatus status) throws AnalysisException {
         throw new AnalysisException(NOT_SUPPORTED_MSG);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/DbsProcDir.java 
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/DbsProcDir.java
index a3818099d8e..36b60f28fce 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/proc/DbsProcDir.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/proc/DbsProcDir.java
@@ -43,7 +43,7 @@ public class DbsProcDir implements ProcDirInterface {
     public static final ImmutableList<String> TITLE_NAMES = new 
ImmutableList.Builder<String>()
             .add("DbId").add("DbName").add("TableNum").add("Size").add("Quota")
             
.add("LastConsistencyCheckTime").add("ReplicaCount").add("ReplicaQuota")
-            .add("TransactionQuota").add("LastUpdateTime")
+            
.add("TransactionNum").add("TransactionQuota").add("LastUpdateTime")
             .build();
 
     private Env env;
@@ -115,12 +115,15 @@ public class DbsProcDir implements ProcDirInterface {
                         ((Database) db).getLastCheckTime()) : 
FeConstants.null_string;
                 long replicaCount = (db instanceof Database) ? ((Database) 
db).getReplicaCountWithLock() : 0;
                 long replicaQuota = (db instanceof Database) ? ((Database) 
db).getReplicaQuota() : 0;
+                long transactionNum =  (db instanceof Database) ? 
env.getGlobalTransactionMgr()
+                        .getRunningTxnNums(db.getId()) : 0;
                 long transactionQuota = (db instanceof Database) ? ((Database) 
db).getTransactionQuotaSize() : 0;
                 dbInfo.add(readableUsedQuota);
                 dbInfo.add(readableQuota);
                 dbInfo.add(lastCheckTime);
                 dbInfo.add(replicaCount);
                 dbInfo.add(replicaQuota);
+                dbInfo.add(transactionNum);
                 dbInfo.add(transactionQuota);
                 dbInfo.add(TimeUtils.longToTimeString(db.getLastUpdateTime()));
             } finally {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
index fd48b974544..9c7c1e756e0 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
@@ -83,6 +83,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -147,12 +148,9 @@ public class DatabaseTransactionMgr {
     // it must exists in dbIdToTxnLabels, and vice versa
     private final Map<String, Set<Long>> labelToTxnIds = Maps.newHashMap();
 
-    // count the number of running txns of database, except for the routine 
load txn
+    // count the number of running txns of database
     private volatile int runningTxnNums = 0;
 
-    // count only the number of running routine load txns of database
-    private volatile int runningRoutineLoadTxnNums = 0;
-
     private final Env env;
 
     private final EditLog editLog;
@@ -238,10 +236,6 @@ public class DatabaseTransactionMgr {
         return runningTxnNums;
     }
 
-    protected int getRunningRoutineLoadTxnNums() {
-        return runningRoutineLoadTxnNums;
-    }
-
     @VisibleForTesting
     protected int getFinishedTxnNums() {
         return idToFinalStatusTransactionState.size();
@@ -272,6 +266,19 @@ public class DatabaseTransactionMgr {
         return infos;
     }
 
+    public Map<Long, List<Long>> getDbRunningTransInfo() {
+        Map<Long, List<Long>> infos = Maps.newHashMap();
+        readLock();
+        try {
+            for (Entry<Long, TransactionState> info : 
idToRunningTransactionState.entrySet()) {
+                infos.put(info.getKey(), info.getValue().getTableIdList());
+            }
+        } finally {
+            readUnlock();
+        }
+        return infos;
+    }
+
     public List<List<String>> getTxnStateInfoList(TransactionStatus status) {
         List<List<String>> infos = Lists.newArrayList();
         Collection<TransactionState> transactionStateCollection = null;
@@ -386,7 +393,7 @@ public class DatabaseTransactionMgr {
                 }
             }
 
-            checkRunningTxnExceedLimit(sourceType);
+            checkRunningTxnExceedLimit();
 
             tid = idGenerator.getNextTransactionId();
             TransactionState transactionState = new TransactionState(dbId, 
tableIdList,
@@ -1424,19 +1431,11 @@ public class DatabaseTransactionMgr {
         }
         if (!transactionState.getTransactionStatus().isFinalStatus()) {
             if 
(idToRunningTransactionState.put(transactionState.getTransactionId(), 
transactionState) == null) {
-                if (transactionState.getSourceType() == 
TransactionState.LoadJobSourceType.ROUTINE_LOAD_TASK) {
-                    runningRoutineLoadTxnNums++;
-                } else {
-                    runningTxnNums++;
-                }
+                runningTxnNums++;
             }
         } else {
             if 
(idToRunningTransactionState.remove(transactionState.getTransactionId()) != 
null) {
-                if (transactionState.getSourceType() == 
TransactionState.LoadJobSourceType.ROUTINE_LOAD_TASK) {
-                    runningRoutineLoadTxnNums--;
-                } else {
-                    runningTxnNums--;
-                }
+                runningTxnNums--;
             }
             
idToFinalStatusTransactionState.put(transactionState.getTransactionId(), 
transactionState);
             if (transactionState.isShortTxn()) {
@@ -1820,22 +1819,12 @@ public class DatabaseTransactionMgr {
         return infos;
     }
 
-    protected void 
checkRunningTxnExceedLimit(TransactionState.LoadJobSourceType sourceType)
+    protected void checkRunningTxnExceedLimit()
             throws BeginTransactionException, MetaNotFoundException {
-        switch (sourceType) {
-            case ROUTINE_LOAD_TASK:
-                // no need to check limit for routine load task:
-                // 1. the number of running routine load tasks is limited by 
Config.max_routine_load_task_num_per_be
-                // 2. if we add routine load txn to runningTxnNums, 
runningTxnNums will always be occupied by routine
-                //    load, and other txn may not be able to submitted.
-                break;
-            default:
-                long txnQuota = 
env.getInternalCatalog().getDbOrMetaException(dbId).getTransactionQuotaSize();
-                if (runningTxnNums >= txnQuota) {
-                    throw new BeginTransactionException("current running txns 
on db " + dbId + " is "
-                            + runningTxnNums + ", larger than limit " + 
txnQuota);
-                }
-                break;
+        long txnQuota = 
env.getInternalCatalog().getDbOrMetaException(dbId).getTransactionQuotaSize();
+        if (runningTxnNums >= txnQuota) {
+            throw new BeginTransactionException("current running txns on db " 
+ dbId + " is "
+                    + runningTxnNums + ", larger than limit " + txnQuota);
         }
     }
 
@@ -2126,7 +2115,7 @@ public class DatabaseTransactionMgr {
         readLock();
         try {
             infos.add(Lists.newArrayList("running", String.valueOf(
-                    runningTxnNums + runningRoutineLoadTxnNums)));
+                    runningTxnNums)));
             long finishedNum = getFinishedTxnNums();
             infos.add(Lists.newArrayList("finished", 
String.valueOf(finishedNum)));
         } finally {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java
 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java
index f755d148c92..813266749a3 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java
@@ -593,7 +593,7 @@ public class GlobalTransactionMgr implements 
GlobalTransactionMgrIface {
             long runningNum = 0;
             try {
                 DatabaseTransactionMgr dbMgr = getDatabaseTransactionMgr(dbId);
-                runningNum = dbMgr.getRunningTxnNums() + 
dbMgr.getRunningRoutineLoadTxnNums();
+                runningNum = dbMgr.getRunningTxnNums();
                 totalRunningNum += runningNum;
             } catch (AnalysisException e) {
                 LOG.warn("get database running transaction num failed", e);
@@ -623,6 +623,11 @@ public class GlobalTransactionMgr implements 
GlobalTransactionMgrIface {
         return dbTransactionMgr.getTxnStateInfoList(running, limit);
     }
 
+    public Map<Long, List<Long>> getDbRunningTransInfo(long dbId) throws 
AnalysisException {
+        DatabaseTransactionMgr dbTransactionMgr = 
getDatabaseTransactionMgr(dbId);
+        return dbTransactionMgr.getDbRunningTransInfo();
+    }
+
     @Override
     public List<List<String>> getDbTransInfoByStatus(Long dbId, 
TransactionStatus status) throws AnalysisException {
         DatabaseTransactionMgr dbTransactionMgr = 
getDatabaseTransactionMgr(dbId);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgrIface.java
 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgrIface.java
index 489b4240d0d..6ee622c9f18 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgrIface.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgrIface.java
@@ -39,6 +39,7 @@ import 
org.apache.doris.transaction.TransactionState.TxnCoordinator;
 import java.io.DataInput;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.TimeoutException;
 
 public interface GlobalTransactionMgrIface extends Writable {
@@ -152,6 +153,8 @@ public interface GlobalTransactionMgrIface extends Writable 
{
 
     public List<List<String>> getDbTransInfo(Long dbId, boolean running, int 
limit) throws AnalysisException;
 
+    public Map<Long, List<Long>> getDbRunningTransInfo(long dbId) throws 
AnalysisException;
+
     public List<List<Comparable>> getTableTransInfo(long dbId, long txnId) 
throws AnalysisException;
 
     public List<List<Comparable>> getPartitionTransInfo(long dbId, long tid, 
long tableId)
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java
index 01fd0a19528..5f26aa63f60 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java
@@ -141,8 +141,8 @@ public class ShowDataStmtTest {
     public void testNormal() throws AnalysisException, UserException {
         ShowDataStmt stmt = new ShowDataStmt(null, null);
         stmt.analyze(analyzer);
-        Assert.assertEquals("SHOW DATA FROM `testDb`", stmt.toString());
-        Assert.assertEquals(4, stmt.getMetaData().getColumnCount());
+        Assert.assertEquals("SHOW DATA", stmt.toString());
+        Assert.assertEquals(5, stmt.getMetaData().getColumnCount());
         Assert.assertEquals(false, stmt.hasTable());
 
         SlotRef slotRefOne = new SlotRef(null, "ReplicaCount");
@@ -161,7 +161,7 @@ public class ShowDataStmtTest {
 
         stmt = new ShowDataStmt(null, Arrays.asList(orderByElementOne, 
orderByElementTwo));
         stmt.analyze(analyzer);
-        Assert.assertEquals("SHOW DATA FROM `testDb` ORDER BY `ReplicaCount` 
DESC, `Size` DESC",
+        Assert.assertEquals("SHOW DATA ORDER BY `ReplicaCount` DESC, `Size` 
DESC",
                 stmt.toString());
     }
 }
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/common/proc/DbsProcDirTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/common/proc/DbsProcDirTest.java
index b3052643d2e..e0bc97f5787 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/common/proc/DbsProcDirTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/common/proc/DbsProcDirTest.java
@@ -22,6 +22,7 @@ import org.apache.doris.catalog.Env;
 import org.apache.doris.common.AnalysisException;
 import org.apache.doris.common.FeConstants;
 import org.apache.doris.datasource.InternalCatalog;
+import org.apache.doris.transaction.GlobalTransactionMgr;
 
 import com.google.common.collect.Lists;
 import mockit.Expectations;
@@ -42,6 +43,9 @@ public class DbsProcDirTest {
     @Mocked
     private InternalCatalog catalog;
 
+    @Mocked
+    GlobalTransactionMgr transactionMgr;
+
     // construct test case
     //  catalog
     //  | - db1
@@ -154,6 +158,18 @@ public class DbsProcDirTest {
                 minTimes = 0;
                 result = catalog;
 
+                env.getGlobalTransactionMgr();
+                minTimes = 0;
+                result = transactionMgr;
+
+                transactionMgr.getRunningTxnNums(db1.getId());
+                minTimes = 0;
+                result = 10;
+
+                transactionMgr.getRunningTxnNums(db2.getId());
+                minTimes = 0;
+                result = 20;
+
                 catalog.getDbNames();
                 minTimes = 0;
                 result = Lists.newArrayList("db1", "db2");
@@ -193,13 +209,13 @@ public class DbsProcDirTest {
         Assert.assertTrue(result instanceof BaseProcResult);
 
         Assert.assertEquals(Lists.newArrayList("DbId", "DbName", "TableNum", 
"Size", "Quota",
-                "LastConsistencyCheckTime", "ReplicaCount", "ReplicaQuota", 
"TransactionQuota", "LastUpdateTime"),
-                result.getColumnNames());
+                "LastConsistencyCheckTime", "ReplicaCount", "ReplicaQuota", 
"TransactionNum", "TransactionQuota",
+                "LastUpdateTime"), result.getColumnNames());
         List<List<String>> rows = Lists.newArrayList();
         rows.add(Arrays.asList(String.valueOf(db1.getId()), db1.getFullName(), 
"0", "0.000 ", "1024.000 TB",
-                FeConstants.null_string, "0", "1073741824", "1000", 
FeConstants.null_string));
+                FeConstants.null_string, "0", "1073741824", "10", "1000", 
FeConstants.null_string));
         rows.add(Arrays.asList(String.valueOf(db2.getId()), db2.getFullName(), 
"0", "0.000 ", "1024.000 TB",
-                FeConstants.null_string, "0", "1073741824", "1000", 
FeConstants.null_string));
+                FeConstants.null_string, "0", "1073741824", "20", "1000", 
FeConstants.null_string));
         Assert.assertEquals(rows, result.getRows());
     }
 
@@ -230,7 +246,8 @@ public class DbsProcDirTest {
         dir = new DbsProcDir(env, catalog);
         result = dir.fetchResult();
         Assert.assertEquals(Lists.newArrayList("DbId", "DbName", "TableNum", 
"Size", "Quota",
-                "LastConsistencyCheckTime", "ReplicaCount", "ReplicaQuota", 
"TransactionQuota", "LastUpdateTime"),
+                "LastConsistencyCheckTime", "ReplicaCount", "ReplicaQuota", 
"TransactionNum", "TransactionQuota",
+                "LastUpdateTime"),
                 result.getColumnNames());
         List<List<String>> rows = Lists.newArrayList();
         Assert.assertEquals(rows, result.getRows());
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/transaction/DatabaseTransactionMgrTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/transaction/DatabaseTransactionMgrTest.java
index 1030fac8071..84a7d6d283d 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/transaction/DatabaseTransactionMgrTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/transaction/DatabaseTransactionMgrTest.java
@@ -144,8 +144,7 @@ public class DatabaseTransactionMgrTest {
     public void testNormal() throws UserException {
         DatabaseTransactionMgr masterDbTransMgr = 
masterTransMgr.getDatabaseTransactionMgr(CatalogTestUtil.testDbId1);
         Assert.assertEquals(4, masterDbTransMgr.getTransactionNum());
-        Assert.assertEquals(2, masterDbTransMgr.getRunningTxnNums());
-        Assert.assertEquals(1, 
masterDbTransMgr.getRunningRoutineLoadTxnNums());
+        Assert.assertEquals(3, masterDbTransMgr.getRunningTxnNums());
         Assert.assertEquals(1, masterDbTransMgr.getFinishedTxnNums());
         DatabaseTransactionMgr slaveDbTransMgr = 
slaveTransMgr.getDatabaseTransactionMgr(CatalogTestUtil.testDbId1);
         Assert.assertEquals(1, slaveDbTransMgr.getTransactionNum());
@@ -178,14 +177,12 @@ public class DatabaseTransactionMgrTest {
         long txnId2 = LabelToTxnId.get(CatalogTestUtil.testTxnLabel2);
         masterDbTransMgr.abortTransaction(txnId2, "test abort transaction", 
null);
         Assert.assertEquals(2, masterDbTransMgr.getRunningTxnNums());
-        Assert.assertEquals(0, 
masterDbTransMgr.getRunningRoutineLoadTxnNums());
         Assert.assertEquals(2, masterDbTransMgr.getFinishedTxnNums());
         Assert.assertEquals(4, masterDbTransMgr.getTransactionNum());
 
         long txnId3 = LabelToTxnId.get(CatalogTestUtil.testTxnLabel3);
         masterDbTransMgr.abortTransaction(txnId3, "test abort transaction", 
null);
         Assert.assertEquals(1, masterDbTransMgr.getRunningTxnNums());
-        Assert.assertEquals(0, 
masterDbTransMgr.getRunningRoutineLoadTxnNums());
         Assert.assertEquals(3, masterDbTransMgr.getFinishedTxnNums());
         Assert.assertEquals(4, masterDbTransMgr.getTransactionNum());
     }
@@ -286,8 +283,7 @@ public class DatabaseTransactionMgrTest {
         long txnId = LabelToTxnId.get(CatalogTestUtil.testTxnLabel1);
         TransactionState transactionState = 
masterDbTransMgr.getTransactionState(txnId);
         masterDbTransMgr.replayDeleteTransaction(transactionState);
-        Assert.assertEquals(2, masterDbTransMgr.getRunningTxnNums());
-        Assert.assertEquals(1, 
masterDbTransMgr.getRunningRoutineLoadTxnNums());
+        Assert.assertEquals(3, masterDbTransMgr.getRunningTxnNums());
         Assert.assertEquals(0, masterDbTransMgr.getFinishedTxnNums());
         Assert.assertEquals(3, masterDbTransMgr.getTransactionNum());
         
Assert.assertNull(masterDbTransMgr.unprotectedGetTxnIdsByLabel(CatalogTestUtil.testTxnLabel1));


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to