You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Deneche A. Hakim (JIRA)" <ji...@apache.org> on 2015/05/04 18:04:06 UTC

[jira] [Created] (DRILL-2947) AllocationHelper.allocateNew() doesn't have a consistent behavior when it can't allocate

Deneche A. Hakim created DRILL-2947:
---------------------------------------

             Summary: 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
            Reporter: Deneche A. Hakim
            Assignee: Deneche A. Hakim


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)