[
https://issues.apache.org/jira/browse/IGNITE-23960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Mashenkov updated IGNITE-23960:
--------------------------------------
Fix Version/s: 3.1
> 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
> Assignee: Andrey Mashenkov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.1
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> 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)