Konstantin Orlov created IGNITE-23960:
-----------------------------------------
Summary: Sql. Execution node should not hold thread for too long
Key: IGNITE-23960
URL: https://issues.apache.org/jira/browse/IGNITE-23960
Project: Ignite
Issue Type: Bug
Components: sql
Reporter: Konstantin Orlov
Some execution nodes violates a key principle of cooperative multitasking:
"Every job must not occupy a thread for too long." The nodes (at least
{{NestedLoopJoinNode}}) are monopolizing threads for extended periods, which
negatively impacts overall system responsiveness and throughput.
Let's check all execution nodes and fix this violation. The common approach to
address the issue is to reschedule execution after certain amount of rows has
been processed. See {{HashAggregateNode#flush}} for example:
{code:java}
if (processed >= inBufSize && requested > 0) {
// allow others to do their job
context().execute(this::flush, this::onError);
return;
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)