From b272d95a4f3830baaf923361c1eb3fe2eebe8107 Mon Sep 17 00:00:00 2001 From: hui lai <1353307710@qq.com> Date: Thu, 15 Aug 2024 16:19:59 +0800 Subject: [PATCH] [fix](stream load) do not throw exception but skip record when can not find database (#39360) When fetch stream load record from BE node, if can not find database, StreamLoadRecordMgr will throw exception and the remaining records will not be recorded in memory. For example: Ten stream load records were pulled, and the database associated with the stream load of the first record was deleted by the user. Therefore, the pull will end, resulting in the remaining nine records not being consumed recorded in memory. This pr do not throw exception but skip record when can not find database to solve this problem. --- .../main/java/org/apache/doris/load/StreamLoadRecordMgr.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java index 5b58425dfa03a0..7cdd69da2dc35d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java @@ -23,7 +23,6 @@ import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.ClientPool; import org.apache.doris.common.Config; -import org.apache.doris.common.UserException; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.MasterDaemon; @@ -309,7 +308,8 @@ protected void runAfterCatalogReady() { if (Strings.isNullOrEmpty(streamLoadItem.getCluster())) { dbName = streamLoadItem.getDb(); } - throw new UserException("unknown database, database=" + dbName); + LOG.warn("unknown database, database=" + dbName); + continue; } long dbId = db.getId(); Env.getCurrentEnv().getStreamLoadRecordMgr()