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

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


The following commit(s) were added to refs/heads/master by this push:
     new 44dadd10fc4 [enhancement](transatcion) show more details about 
transaction num when execute show proc "/dbs" stmt (#30980)
44dadd10fc4 is described below

commit 44dadd10fc4319540cfbb409dc7f51fb18dc68a0
Author: caiconghui <[email protected]>
AuthorDate: Wed Feb 21 15:44:15 2024 +0800

    [enhancement](transatcion) show more details about transaction num when 
execute show proc "/dbs" stmt (#30980)
    
    Co-authored-by: caiconghui1 <[email protected]>
---
 .../org/apache/doris/analysis/ShowDataStmt.java    | 15 +-----
 .../transaction/CloudGlobalTransactionMgr.java     |  6 +++
 .../org/apache/doris/common/proc/DbsProcDir.java   |  5 +-
 .../apache/doris/common/proc/TablesProcDir.java    | 18 ++++++-
 .../doris/transaction/DatabaseTransactionMgr.java  | 59 +++++++++-------------
 .../doris/transaction/GlobalTransactionMgr.java    | 11 +++-
 .../transaction/GlobalTransactionMgrIface.java     |  3 ++
 .../apache/doris/analysis/ShowDataStmtTest.java    |  4 +-
 .../apache/doris/common/proc/DbsProcDirTest.java   | 27 ++++++++--
 .../transaction/DatabaseTransactionMgrTest.java    |  8 +--
 .../suites/database_p0/test_alter_db.groovy        |  2 +-
 11 files changed, 92 insertions(+), 66 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 f84784e5826..6be5ab00ea2 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
@@ -84,10 +84,6 @@ public class ShowDataStmt extends ShowStmt {
                     .addColumn(new Column("RemoteSize", 
ScalarType.createVarchar(30)))
                     .build();
 
-    public static final ImmutableList<String> 
SHOW_DATABASE_DATA_META_DATA_ORIGIN =
-            new 
ImmutableList.Builder<String>().add("DbId").add("DbName").add("Size")
-            
.add("RemoteSize").add("RecycleSize").add("RecycleRemoteSize").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();
@@ -246,12 +242,6 @@ public class ShowDataStmt extends ShowStmt {
                         + leftPair.second;
                 List<String> leftRow = Arrays.asList("Left", readableLeft, 
String.valueOf(replicaCountLeft), "");
                 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();
             }
@@ -409,11 +399,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 b4dc319c842..258d1b54050 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 {
@@ -796,6 +797,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..2fcd2f49b48 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("RunningTransactionNum").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/common/proc/TablesProcDir.java 
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/TablesProcDir.java
index c2926c829ad..f4e39080abe 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/proc/TablesProcDir.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/proc/TablesProcDir.java
@@ -19,6 +19,7 @@ package org.apache.doris.common.proc;
 
 import org.apache.doris.catalog.Column;
 import org.apache.doris.catalog.DatabaseIf;
+import org.apache.doris.catalog.Env;
 import org.apache.doris.catalog.OlapTable;
 import org.apache.doris.catalog.PartitionType;
 import org.apache.doris.catalog.RangePartitionInfo;
@@ -31,10 +32,13 @@ import org.apache.doris.common.util.TimeUtils;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Maps;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
 
 /*
  * SHOW PROC /dbs/dbId/
@@ -44,7 +48,7 @@ public class TablesProcDir implements ProcDirInterface {
     public static final ImmutableList<String> TITLE_NAMES = new 
ImmutableList.Builder<String>()
             
.add("TableId").add("TableName").add("IndexNum").add("PartitionColumnName")
             
.add("PartitionNum").add("State").add("Type").add("LastConsistencyCheckTime").add("ReplicaCount")
-            
.add("VisibleVersion").add("VisibleVersionTime").add("LastUpdateTime")
+            
.add("VisibleVersion").add("VisibleVersionTime").add("RunningTransactionNum").add("LastUpdateTime")
             .build();
 
     private DatabaseIf db;
@@ -83,6 +87,16 @@ public class TablesProcDir implements ProcDirInterface {
         // get info
         List<List<Comparable>> tableInfos = new ArrayList<List<Comparable>>();
         List<TableIf> tableList = db.getTables();
+        Map<Long, List<Long>> transToTableListInfo = 
Env.getCurrentGlobalTransactionMgr()
+                .getDbRunningTransInfo(db.getId());
+        Map<Long, Integer> tableToTransNumInfo = Maps.newHashMap();
+        for (Entry<Long, List<Long>> transWithTableList : 
transToTableListInfo.entrySet()) {
+            for (Long tableId : transWithTableList.getValue()) {
+                int transNum = tableToTransNumInfo.getOrDefault(tableId, 0);
+                transNum++;
+                tableToTransNumInfo.put(tableId, transNum);
+            }
+        }
         for (TableIf table : tableList) {
             List<Comparable> tableInfo = new ArrayList<Comparable>();
             int partitionNum = 1;
@@ -132,6 +146,8 @@ public class TablesProcDir implements ProcDirInterface {
                     tableInfo.add(FeConstants.null_string);
                     tableInfo.add(FeConstants.null_string);
                 }
+                int runningTransactionNum = 
tableToTransNumInfo.getOrDefault(table.getId(), 0);
+                tableInfo.add(runningTransactionNum);
                 
tableInfo.add(TimeUtils.longToTimeString(table.getUpdateTime()));
                 tableInfos.add(tableInfo);
             } 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 0967d4e7761..0e5608791e7 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,
@@ -1446,19 +1453,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()) {
@@ -1842,22 +1841,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);
         }
     }
 
@@ -2152,7 +2141,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 d7db7874a3f..692c3b25876 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
@@ -58,6 +58,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
@@ -601,7 +602,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);
@@ -631,6 +632,11 @@ public class GlobalTransactionMgr implements 
GlobalTransactionMgrIface {
         return dbTransactionMgr.getTxnStateInfoList(running, limit);
     }
 
+    public Map<Long, List<Long>> getDbRunningTransInfo(long dbId) throws 
AnalysisException {
+        return Optional.ofNullable(dbIdToDatabaseTransactionMgrs.get(dbId))
+                
.map(DatabaseTransactionMgr::getDbRunningTransInfo).orElse(Maps.newHashMap());
+    }
+
     @Override
     public List<List<String>> getDbTransInfoByStatus(Long dbId, 
TransactionStatus status) throws AnalysisException {
         DatabaseTransactionMgr dbTransactionMgr = 
getDatabaseTransactionMgr(dbId);
@@ -739,7 +745,8 @@ public class GlobalTransactionMgr implements 
GlobalTransactionMgrIface {
 
     @Override
     public int getRunningTxnNums(Long dbId) throws AnalysisException {
-        return getDatabaseTransactionMgr(dbId).getRunningTxnNums();
+        return Optional.ofNullable(dbIdToDatabaseTransactionMgrs.get(dbId))
+                .map(DatabaseTransactionMgr::getRunningTxnNums).orElse(0);
     }
 
     @Override
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..69f67b777cb 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,7 +141,7 @@ 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("SHOW DATA", stmt.toString());
         Assert.assertEquals(4, stmt.getMetaData().getColumnCount());
         Assert.assertEquals(false, stmt.hasTable());
 
@@ -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..975378e1b16 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", 
"RunningTransactionNum", "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", 
"RunningTransactionNum", "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));
diff --git a/regression-test/suites/database_p0/test_alter_db.groovy 
b/regression-test/suites/database_p0/test_alter_db.groovy
index 15e96ba51f4..667361eec34 100644
--- a/regression-test/suites/database_p0/test_alter_db.groovy
+++ b/regression-test/suites/database_p0/test_alter_db.groovy
@@ -43,7 +43,7 @@ suite("test_alter_db") {
     assertTrue(found)
     assertEquals("100.000 KB", result[4])
     assertEquals("1024", result[7])
-    assertEquals("1024", result[8])
+    assertEquals("1024", result[9])
 
     sql """use ${dbName};"""
     sql """


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

Reply via email to