You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2024/01/12 15:09:41 UTC
(doris) branch master updated: [bugfix](timeout) serving_blocks_num may cause timeout, try to fix it (#29912)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 4dd74e24242 [bugfix](timeout) serving_blocks_num may cause timeout, try to fix it (#29912)
4dd74e24242 is described below
commit 4dd74e24242c6592166e7987cfac15ecc5eb78f5
Author: yiguolei <67...@qq.com>
AuthorDate: Fri Jan 12 23:09:30 2024 +0800
[bugfix](timeout) serving_blocks_num may cause timeout, try to fix it (#29912)
Although serving_blocks_num is an atomic variable. It's ++ and -- are not protected by transfer lock.
I am not sure the memory order of ++ and --.
I think it maybe the root cause of query timeout. So that I remove the check and test it in github pipeline.
---
be/src/vec/exec/scan/scanner_context.cpp | 2 +-
be/src/vec/exec/scan/scanner_context.h | 3 +--
be/src/vec/exec/scan/scanner_scheduler.cpp | 2 --
3 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/be/src/vec/exec/scan/scanner_context.cpp b/be/src/vec/exec/scan/scanner_context.cpp
index 046f28ae824..3b1cecd7ac2 100644
--- a/be/src/vec/exec/scan/scanner_context.cpp
+++ b/be/src/vec/exec/scan/scanner_context.cpp
@@ -505,7 +505,7 @@ void ScannerContext::push_back_scanner_and_reschedule(std::shared_ptr<ScannerDel
set_status_on_error(submit_status, false);
}
} else {
- LOG(INFO) << "yyyy should be sched == false, not sched" << debug_string();
+ LOG(INFO) << "yyyy should be sched == false, not sched. " << debug_string();
}
}
diff --git a/be/src/vec/exec/scan/scanner_context.h b/be/src/vec/exec/scan/scanner_context.h
index c4df896bacb..5f43f366bcd 100644
--- a/be/src/vec/exec/scan/scanner_context.h
+++ b/be/src/vec/exec/scan/scanner_context.h
@@ -134,8 +134,7 @@ public:
// todo(wb) rethinking how to calculate ```_max_bytes_in_queue``` when executing shared scan
inline bool should_be_scheduled() const {
- return (_cur_bytes_in_queue < _max_bytes_in_queue / 2) &&
- (_serving_blocks_num < allowed_blocks_num());
+ return _cur_bytes_in_queue < _max_bytes_in_queue / 2;
}
int get_available_thread_slot_num() {
diff --git a/be/src/vec/exec/scan/scanner_scheduler.cpp b/be/src/vec/exec/scan/scanner_scheduler.cpp
index 54b2b60d692..9db103f0b82 100644
--- a/be/src/vec/exec/scan/scanner_scheduler.cpp
+++ b/be/src/vec/exec/scan/scanner_scheduler.cpp
@@ -145,8 +145,6 @@ Status ScannerScheduler::submit(std::shared_ptr<ScannerContext> ctx) {
LOG(INFO) << "yyyy ctx is done, not submit" << ctx->debug_string();
return Status::EndOfFile("ScannerContext is done");
}
- //LOG(WARNING) << "yyyy " << Status::InternalError("Too many scheduled");
- //LOG(WARNING) << "yyyy " << ctx->debug_string();
ctx->queue_idx = (_queue_idx++ % QUEUE_NUM);
if (!_pending_queues[ctx->queue_idx]->blocking_put(ctx)) {
LOG(INFO) << "yyyy put to queue failed, not submit" << ctx->debug_string();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org