diff --git a/be/src/runtime/fold_constant_executor.cpp b/be/src/runtime/fold_constant_executor.cpp index de1fd04688..8a19ca1b35 100644 --- a/be/src/runtime/fold_constant_executor.cpp +++ b/be/src/runtime/fold_constant_executor.cpp @@ -122,7 +122,8 @@ Status FoldConstantExecutor::fold_constant_vexpr(const TFoldConstantParams& para } expr_result_map->insert({m.first, pexpr_result_map}); } - + //TODO: will be delete the debug log after find problem of timeout. + LOG(INFO) << "finish fold_query_id: " << query_id_string(); return Status::OK(); } diff --git a/be/src/vec/functions/function_java_udf.cpp b/be/src/vec/functions/function_java_udf.cpp index 0ae649b768..dc367486df 100644 --- a/be/src/vec/functions/function_java_udf.cpp +++ b/be/src/vec/functions/function_java_udf.cpp @@ -127,7 +127,7 @@ Status JavaFunctionCall::close(FunctionContext* context, // JNIContext own some resource and its release method depend on JavaFunctionCall // has to release the resource before JavaFunctionCall is deconstructed. if (jni_ctx) { - jni_ctx->close(); + RETURN_IF_ERROR(jni_ctx->close()); } return Status::OK(); } diff --git a/be/src/vec/functions/function_java_udf.h b/be/src/vec/functions/function_java_udf.h index f930346a72..e507392184 100644 --- a/be/src/vec/functions/function_java_udf.h +++ b/be/src/vec/functions/function_java_udf.h @@ -126,29 +126,27 @@ private: JniContext() = default; - void close() { + Status close() { if (!open_successes) { LOG_WARNING("maybe open failed, need check the reason"); - return; //maybe open failed, so can't call some jni + return Status::OK(); //maybe open failed, so can't call some jni } if (is_closed) { - return; + return Status::OK(); } VLOG_DEBUG << "Free resources for JniContext"; - JNIEnv* env; + JNIEnv* env = nullptr; Status status = JniUtil::GetJNIEnv(&env); - if (!status.ok()) { + if (!status.ok() || env == nullptr) { LOG(WARNING) << "errors while get jni env " << status; - return; + return status; } env->CallNonvirtualVoidMethodA(executor, executor_cl, executor_close_id, nullptr); env->DeleteGlobalRef(executor); env->DeleteGlobalRef(executor_cl); - Status s = JniUtil::GetJniExceptionMsg(env); - if (!s.ok()) { - LOG(WARNING) << s; - } + RETURN_IF_ERROR(JniUtil::GetJniExceptionMsg(env)); is_closed = true; + return Status::OK(); } }; }; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java index 681fa4b56c..a254f9b4d4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java @@ -181,6 +181,8 @@ public class FoldConstantRuleOnBE extends AbstractExpressionRewriteRule { tParams.setQueryOptions(tQueryOptions); tParams.setQueryId(context.queryId()); + // TODO: will be delete the debug log after find problem of timeout. + LOG.info("fold query {} ", DebugUtil.printId(context.queryId())); Future future = BackendServiceProxy.getInstance().foldConstantExpr(brpcAddress, tParams); PConstantExprResult result = future.get(5, TimeUnit.SECONDS);