diff --git a/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java b/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java index 853ab1ceb69f09..6a51ad6caf62ce 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java @@ -221,11 +221,13 @@ public TMasterResult handleReport(TReportRequest request) throws TException { private void putToQueue(ReportTask reportTask) throws Exception { int currentSize = reportQueue.size(); - if (currentSize > Config.report_queue_size) { - LOG.warn("the report queue size exceeds the limit: {}. current: {}", Config.report_queue_size, currentSize); + int maxReportQueueSize = Math.max(Config.report_queue_size, + 10 * Env.getCurrentSystemInfo().getAllBackendIds().size()); + if (currentSize > maxReportQueueSize) { + LOG.warn("the report queue size exceeds the limit: {}. current: {}", maxReportQueueSize, currentSize); throw new Exception( "the report queue size exceeds the limit: " - + Config.report_queue_size + ". current: " + currentSize); + + maxReportQueueSize + ". current: " + currentSize); } BackendReportType backendReportType = new BackendReportType(reportTask.beId, reportTask.reportType);