Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-7526

SQL: Introduce memory region for reducer merge results with disk offload

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • sql

    Description

      Currently all results received from map nodes are stored inside reducer's heap memory. What is worse, in case of complex queries, such as having sorts or groupings, need to collect all results from mappers first before final processing could be applied. In case of big results set (or intermediate results) this could easily lead to OOME on reducer.

      To mitigate this we should introduce special memory area where intermediate results could be stored. All final processing should be stored in the same area as well. This area should be of limited size and should be able to offload results to disk in case of overflow.

      We could start with our B+Tree and free list and store results in some K-V form.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            vozerov Vladimir Ozerov
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 10m
                10m

                Slack

                  Issue deployment