Oleg Zinoviev created IGNITE-28882:
--------------------------------------
Summary: Window Functions - Thread Starvation & Redundant Row Size
Calculation
Key: IGNITE-28882
URL: https://issues.apache.org/jira/browse/IGNITE-28882
Project: Ignite
Issue Type: Improvement
Reporter: Oleg Zinoviev
Assignee: Oleg Zinoviev
The current implementation of window functions in the scope of IGNITE-14777
does not address the following two issues:
# *Thread starvation risk with large partitions.* When a partition contains a
large number of rows, the computation thread may get blocked for an extended
period, causing other execution nodes to experience resource starvation.
# *Redundant row size calculation.* The row size is computed multiple times to
control memory consumption, which introduces unnecessary overhead.
h4. Required changes
* Implement proper release of the execution thread when processing large
partitions so that other execution nodes do not experience starvation.
* Send computed rows directly to the downstream node to avoid intermediate
buffering and redundant calculations.
* Ensure that the row size is calculated exactly once per row to eliminate
redundant computations.
* In streaming mode for window functions, do not include row size calculation
as part of the computation logic, since in this mode the Node does not store
rows from upstream.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)