OIiveirra commented on code in PR #68726:
URL: https://github.com/apache/doris/pull/68726#discussion_r4246445219
##########
fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java:
##########
@@ -3185,6 +3185,27 @@ private HttpStreamParams
initHttpStreamPlan(TStreamLoadPutRequest request, Conne
return httpStreamParams;
}
+ private void setHttpStreamLoadTableProperties(TStreamLoadPutRequest
request,
+ HttpStreamParams httpStreamParams, TStreamLoadPutResult result)
throws UserException {
+ OlapTable table = (OlapTable) httpStreamParams.getTable();
+ long timeoutMs = request.isSetThriftRpcTimeoutMs() ?
request.getThriftRpcTimeoutMs() : 5000;
+ if (!table.tryReadLock(timeoutMs, TimeUnit.MILLISECONDS)) {
Review Comment:
Thanks, this is a valid issue: normal HTTP load_sql planning has already
begun the transaction, and the BE does not receive its ID on a failed plan.
Commit 0afd4837804 removes the independent Stream Load locking changes from
this PR, including this newly introduced timeout path. A differential test
reproduced the schema-version race on the pre-optimization baseline, so the fix
is now separate in #68964. That PR aborts the normal HTTP transaction on lock
timeout, excludes group commit, and preserves cleanup errors. Its tests force a
timeout with a real table write lock and verify the abort/exclusion/error
paths; 15 focused FE tests and Checkstyle pass. This PR's scheduling/COUNT
tests also pass (33 focused FE tests).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]