From 3beadf62d81511d16667662dd179e1a46e7409ac Mon Sep 17 00:00:00 2001 From: liulijia Date: Tue, 8 Jun 2021 12:37:33 +0800 Subject: [PATCH] Fix bug when drop table concurrently --- .../java/org/apache/doris/catalog/Catalog.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java index 3e7fb1c733e674..563eb6b0c425b4 100755 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java @@ -4479,14 +4479,21 @@ public boolean unprotectDropTable(Database db, Table table, boolean isForceDrop, } public void replayDropTable(Database db, long tableId, boolean isForceDrop) { - Table table = db.getTable(tableId); // delete from db meta db.writeLock(); - table.writeLock(); try { - unprotectDropTable(db, table, isForceDrop, true); + Table table = db.getTable(tableId); + if (null != table) { + table.writeLock(); + try { + unprotectDropTable(db, table, isForceDrop, true); + } finally { + table.writeUnlock(); + } + } else { + LOG.warn("replay drop {} from {} is null.", tableId, db.getId()); + } } finally { - table.writeUnlock(); db.writeUnlock(); } }