Paul Rogers created DRILL-5008:
----------------------------------

             Summary: Refactor, document and simplify ExternalSortBatch
                 Key: DRILL-5008
                 URL: https://issues.apache.org/jira/browse/DRILL-5008
             Project: Apache Drill
          Issue Type: Improvement
    Affects Versions: 1.8.0
            Reporter: Paul Rogers
            Priority: Minor


ExternalSortBatch provides a spillable sort operator for Drill. The code works 
fine, but can be a hard to follow and understand. Make the following changes to 
improve ease-of-use for developers:

1. Refactor the large methods into bite-sized chunks to aid understanding.
2. Provide additional explanation of the theory and operation of this operator.

The memory limit cases for the spill-needed test seem inconsistent:

For the test for in-memory sort:
{code}
    long currentlyAvailable =  popConfig.getMaxAllocation() - 
oAllocator.getAllocatedMemory();
{code}

For reaching the memory limit:
{code}
oAllocator.getAllocatedMemory() > .95 * oAllocator.getLimit()
{code}

That is, one uses `oAllocator.getLimit` ("the current maximum limit this 
allocator imposes"), the other uses `popConfig.getMaxAllocation` (not 
documented, but the memory limit for the operator as defined by the Foreman.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to