now in pipeline, when result block queue is empty, will be reschedule, and then choose a batch of scanner, but sometimes, get_available_thread_slot_num() will return thread_slot_num <= 0, so it's will do nothing, and then block queue will always empty. have no chance to reschedule again until query timeout.