Vladimir Ozerov created IGNITE-5991:

             Summary: SQL: create prototype for map query execution without 
moving full ResultSet to memory
                 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
             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

Reply via email to