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

Jacques Nadeau updated DRILL-2947:
----------------------------------
    Fix Version/s:     (was: 1.0.0)
                   1.2.0

> AllocationHelper.allocateNew() doesn't have a consistent behavior when it 
> can't allocate
> ----------------------------------------------------------------------------------------
>
>                 Key: DRILL-2947
>                 URL: https://issues.apache.org/jira/browse/DRILL-2947
>             Project: Apache Drill
>          Issue Type: Sub-task
>          Components: Execution - Flow, Execution - Relational Operators
>            Reporter: Deneche A. Hakim
>            Assignee: Deneche A. Hakim
>            Priority: Critical
>             Fix For: 1.2.0
>
>
> AllocationHelper.allocateNew(...) has the following implementation:
> {code}
> public static boolean allocateNew(ValueVector v, int valueCount){
>     if (v instanceof  FixedWidthVector) {
>       ((FixedWidthVector) v).allocateNew(valueCount);
>       return true;
>     } else {
>       return v.allocateNewSafe();
>     }
>   }
> {code}
> If it can't allocate the memory it will either return false or throw an 
> _OutOfMemoryRuntimeException_ depending on the class of v.
> Some operators that use this method, like _NestedLoopJoinBatch_ don't check 
> if _allocateNew()_ returns false assuming it will throw an exception instead.



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

Reply via email to