This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 342b55afc2b branch-2.1: [fix](binlog) get table with db lock if the
table not exists #49566 (#49648)
342b55afc2b is described below
commit 342b55afc2b82e7cb89ddfd68da0393b8e772dc9
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Apr 4 20:46:58 2025 +0800
branch-2.1: [fix](binlog) get table with db lock if the table not exists
#49566 (#49648)
Cherry-picked from #49566
Co-authored-by: walter <[email protected]>
---
.../org/apache/doris/service/FrontendServiceImpl.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
index d48418c7f25..ccba47396f9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
@@ -4032,6 +4032,21 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
table = db.getTableNullable(getMetaTable.getName());
}
+ if (table == null) {
+ // Since Database.getTableNullable is lock-free, we
need to take lock and check again,
+ // to ensure the visibility of the table.
+ db.readLock();
+ try {
+ if (getMetaTable.isSetId()) {
+ table =
db.getTableNullable(getMetaTable.getId());
+ } else {
+ table =
db.getTableNullable(getMetaTable.getName());
+ }
+ } finally {
+ db.readUnlock();
+ }
+ }
+
if (table == null) {
LOG.warn("table not found {}", getMetaTable);
continue;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]