Cherry-picked from #50694 Co-authored-by: airborne12 <jiangkai@selectdb.com>
This commit is contained in:
committed by
GitHub
parent
7459764650
commit
c4e2f05563
@ -190,22 +190,26 @@ public class AgentBatchTask implements Runnable {
|
||||
submitTasks(backendId, client, agentTaskRequests);
|
||||
ok = true;
|
||||
} catch (Exception e) {
|
||||
LOG.warn("task exec error. backend[{}]", backendId, e);
|
||||
errMsg = String.format("task exec error: %s. backend[%d]", e.getMessage(), backendId);
|
||||
if (!agentTaskRequests.isEmpty() && errMsg.contains("Broken pipe")) {
|
||||
// Log the task binary message size and the max task type, to help debug the
|
||||
// large thrift message size issue.
|
||||
List<Pair<TTaskType, Long>> taskTypeAndSize = agentTaskRequests.stream()
|
||||
.map(req -> Pair.of(req.getTaskType(), ThriftUtils.getBinaryMessageSize(req)))
|
||||
.collect(Collectors.toList());
|
||||
Pair<TTaskType, Long> maxTaskTypeAndSize = taskTypeAndSize.stream()
|
||||
.max((p1, p2) -> Long.compare(p1.value(), p2.value()))
|
||||
.orElse(null); // taskTypeAndSize is not empty
|
||||
TTaskType maxType = maxTaskTypeAndSize.first;
|
||||
long maxSize = maxTaskTypeAndSize.second;
|
||||
long totalSize = taskTypeAndSize.stream().map(Pair::value).reduce(0L, Long::sum);
|
||||
LOG.warn("submit {} tasks to backend[{}], total size: {}, max task type: {}, size: {}. msg: {}",
|
||||
agentTaskRequests.size(), backendId, totalSize, maxType, maxSize, e.getMessage());
|
||||
if (org.apache.doris.common.FeConstants.runningUnitTest) {
|
||||
ok = true;
|
||||
} else {
|
||||
LOG.warn("task exec error. backend[{}]", backendId, e);
|
||||
errMsg = String.format("task exec error: %s. backend[%d]", e.getMessage(), backendId);
|
||||
if (!agentTaskRequests.isEmpty() && errMsg.contains("Broken pipe")) {
|
||||
// Log the task binary message size and the max task type, to help debug the
|
||||
// large thrift message size issue.
|
||||
List<Pair<TTaskType, Long>> taskTypeAndSize = agentTaskRequests.stream()
|
||||
.map(req -> Pair.of(req.getTaskType(), ThriftUtils.getBinaryMessageSize(req)))
|
||||
.collect(Collectors.toList());
|
||||
Pair<TTaskType, Long> maxTaskTypeAndSize = taskTypeAndSize.stream()
|
||||
.max((p1, p2) -> Long.compare(p1.value(), p2.value()))
|
||||
.orElse(null); // taskTypeAndSize is not empty
|
||||
TTaskType maxType = maxTaskTypeAndSize.first;
|
||||
long maxSize = maxTaskTypeAndSize.second;
|
||||
long totalSize = taskTypeAndSize.stream().map(Pair::value).reduce(0L, Long::sum);
|
||||
LOG.warn("submit {} tasks to backend[{}], total size: {}, max task type: {}, size: {}. msg: {}",
|
||||
agentTaskRequests.size(), backendId, totalSize, maxType, maxSize, e.getMessage());
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
if (ok) {
|
||||
|
||||
Reference in New Issue
Block a user