This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 0bcc1771f6d [fix](fe) fix several blocking bugs #37756 (#37758)
0bcc1771f6d is described below
commit 0bcc1771f6d2c0915a09a2229b9af30b07126fc3
Author: Mingyu Chen <[email protected]>
AuthorDate: Sun Jul 14 18:50:23 2024 +0800
[fix](fe) fix several blocking bugs #37756 (#37758)
bp #37756
---
.../java/org/apache/doris/analysis/FunctionCallExpr.java | 1 -
.../java/org/apache/doris/qe/MasterCatalogExecutor.java | 13 +++++++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
index 3f92c959670..e588e8ca717 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
@@ -2364,7 +2364,6 @@ public class FunctionCallExpr extends Expr {
int result = super.hashCode();
result = 31 * result + Objects.hashCode(opcode);
result = 31 * result + Objects.hashCode(fnName);
- result = 31 * result + Objects.hashCode(fnParams);
return result;
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterCatalogExecutor.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterCatalogExecutor.java
index a1e557b526b..293413e9708 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterCatalogExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterCatalogExecutor.java
@@ -66,11 +66,20 @@ public class MasterCatalogExecutor {
boolean isReturnToPool = false;
try {
TInitExternalCtlMetaResult result =
client.initExternalCtlMeta(request);
-
Env.getCurrentEnv().getJournalObservable().waitOn(result.maxJournalId,
waitTimeoutMs);
if (!result.getStatus().equalsIgnoreCase(STATUS_OK)) {
throw new UserException(result.getStatus());
+ } else {
+ // DO NOT wait on journal replayed, this may cause deadlock.
+ // 1. hold table read lock
+ // 2. wait on journal replayed
+ // 3. previous journal (eg, txn journal) replayed need to hold
table write lock
+ // 4. deadlock
+ // But no waiting on journal replayed may cause some request
on non-master FE failed for some time.
+ // There is no good solution for this.
+ // In feature version, this whole process is refactored, so we
temporarily remove this waiting.
+ //
Env.getCurrentEnv().getJournalObservable().waitOn(result.maxJournalId,
timeoutMs);
+ isReturnToPool = true;
}
- isReturnToPool = true;
} catch (Exception e) {
LOG.warn("Failed to finish forward init operation, please try
again. ", e);
throw e;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]