morningman commented on a change in pull request #4029:
URL: https://github.com/apache/incubator-doris/pull/4029#discussion_r450272944



##########
File path: fe/src/main/java/org/apache/doris/alter/MaterializedViewHandler.java
##########
@@ -716,7 +716,6 @@ public void processBatchDropRollup(List<AlterClause> 
dropRollupClauses, Database
 
     public void processDropMaterializedView(DropMaterializedViewStmt 
dropMaterializedViewStmt, Database db,
             OlapTable olapTable) throws DdlException, MetaNotFoundException {
-        db.writeLock();

Review comment:
       Add a `Preconditions.checkState( db.isWriteLockHeldByCurrentThread())` 
to NOTICE.

##########
File path: fe/src/main/java/org/apache/doris/analysis/DropTableStmt.java
##########
@@ -32,17 +32,20 @@
     private boolean ifExists;
     private final TableName tableName;
     private final boolean isView;
+    private boolean needCheckCommitedTxns;

Review comment:
       ```suggestion
       private boolean needCheckCommittedTxns;
   ```

##########
File path: fe/src/main/java/org/apache/doris/catalog/Catalog.java
##########
@@ -2666,6 +2666,13 @@ public void dropDb(DropDbStmt stmt) throws DdlException {
             Database db = this.fullNameToDb.get(dbName);
             db.writeLock();
             try {
+                if (stmt.isNeedCheckCommitedTxns()) {
+                    if 
(Catalog.getCurrentCatalog().getGlobalTransactionMgr().existCommittedTxns(db.getId(),
 null, null)) {
+                        throw new DdlException("There are still some commited 
txns cannot be aborted in db ["

Review comment:
       There are still some transactions in the COMMITTED state waiting to be 
completed. The database cannot be dropped. If you want to force drop(cannot be 
recovered), please use "DROPP database";

##########
File path: fe/src/main/java/org/apache/doris/analysis/DropTableStmt.java
##########
@@ -61,6 +64,10 @@ public boolean isView() {
         return isView;
     }
 
+    public boolean isNeedCheckCommitedTxns() {

Review comment:
       ```suggestion
       public boolean isNeedCheckCommittedTxns() {
   ```

##########
File path: fe/src/main/java/org/apache/doris/analysis/DropTableStmt.java
##########
@@ -32,17 +32,20 @@
     private boolean ifExists;
     private final TableName tableName;
     private final boolean isView;
+    private boolean needCheckCommitedTxns;
 
-    public DropTableStmt(boolean ifExists, TableName tableName) {
+    public DropTableStmt(boolean ifExists, TableName tableName, boolean 
needCheckCommitedTxns) {

Review comment:
       ```suggestion
       public DropTableStmt(boolean ifExists, TableName tableName, boolean 
needCheckCommittedTxns) {
   ```

##########
File path: fe/src/main/java/org/apache/doris/analysis/DropTableStmt.java
##########
@@ -32,17 +32,20 @@
     private boolean ifExists;
     private final TableName tableName;
     private final boolean isView;
+    private boolean needCheckCommitedTxns;
 
-    public DropTableStmt(boolean ifExists, TableName tableName) {
+    public DropTableStmt(boolean ifExists, TableName tableName, boolean 
needCheckCommitedTxns) {
         this.ifExists = ifExists;
         this.tableName = tableName;
         this.isView = false;
+        this.needCheckCommitedTxns = needCheckCommitedTxns;

Review comment:
       ```suggestion
           this.needCheckCommittedTxns = needCheckCommittedTxns;
   ```

##########
File path: fe/src/main/java/org/apache/doris/catalog/Catalog.java
##########
@@ -3308,6 +3315,20 @@ public void dropPartition(Database db, OlapTable 
olapTable, DropPartitionClause
         if (isTempPartition) {
             olapTable.dropTempPartition(partitionName, true);
         } else {
+            if (clause.isNeedCheckCommitedTxns()) {

Review comment:
       Duplicated `if clause`?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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

Reply via email to