[ 
https://issues.apache.org/jira/browse/IGNITE-11487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16793478#comment-16793478
 ] 

Vladimir Ozerov commented on IGNITE-11487:
------------------------------------------

[~dmagda], [~ezhuravl], [~Artem Budnikov],
When query is executed, we create special "merge table" on reducer node (i.e. 
node initiated query execution). Data is added to this table from data nodes. 
As table is stored in memory, we have a maximum limit of number of rows inside 
it to prevent OOME on a node. This size is controlled by 
{{IGNITE_SQL_MERGE_TABLE_MAX_SIZE}} property which is set to 10_000 by default. 
Once the size is exceeded, an exception is thrown. General recommendation to 
user - increase this system property (node restart will be needed). 

Please note that this property doesn't mean that it is impossible to return 
more that 10_000 results from a query by default. Normally, data nodes add data 
to this table, while user's cursor fetches from it. As a result, table's size 
is kept relatively small. But in some cases the first query result cannot be 
returned before the whole data set is fetched from all nodes (e.g. 
{{DISTINCT}}). In this case we keep requesting more batched from data nodes 
without returning anything to the user, and this is when aforementioned 
exception could occur.

{{IGNITE_SQL_MERGE_TABLE_MAX_SIZE}} property defines maximum allowed size of 
merge

> Document IGNITE_SQL_MERGE_TABLE_MAX_SIZE property
> -------------------------------------------------
>
>                 Key: IGNITE-11487
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11487
>             Project: Ignite
>          Issue Type: Improvement
>          Components: documentation
>            Reporter: Evgenii Zhuravlev
>            Assignee: Artem Budnikov
>            Priority: Critical
>             Fix For: 2.8
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to