You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Deneche A. Hakim (JIRA)" <ji...@apache.org> on 2015/05/05 17:08:00 UTC
[jira] [Commented] (DRILL-2947) AllocationHelper.allocateNew()
doesn't have a consistent behavior when it can't allocate
[ https://issues.apache.org/jira/browse/DRILL-2947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14528598#comment-14528598 ]
Deneche A. Hakim commented on DRILL-2947:
-----------------------------------------
The patch for DRILL-2757 includes a fix for this
> 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.0.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)