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

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

    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

            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