[ 
https://issues.apache.org/jira/browse/IGNITE-5991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-5991:
------------------------------------
    Summary: SQL: lazy ResultSet for map query  (was: SQL: create prototype for 
map query execution without moving full ResultSet to memory)

> SQL: lazy ResultSet for map query
> ---------------------------------
>
>                 Key: IGNITE-5991
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5991
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>    Affects Versions: 2.1
>            Reporter: Vladimir Ozerov
>            Assignee: Vladimir Ozerov
>            Priority: Critical
>             Fix For: 2.2
>
>
> Currently we move the whole {{ResultSet}} to memory when executing SQL query 
> on mapper. If result set is large enough, this could easily bring server down 
> due to high GC pressure or even OOME. 
> To avoid that we should stream H2's {{ResultSet}} to our own consumer, which 
> will construct a page and send it to the client  When a page is sent, 
> consumer will block current thread until "next page request" is received. 
> This approach has disadvantage - query thread will be blocked. However, 
> implementation should be fairly easy and will allow us to avoid OOMEs on 
> server. In future we will improve it to minimize blocking (or even avoid it 
> completely).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to