Sorabh Hamirwasia created DRILL-6172:
----------------------------------------

             Summary: setValueCount of VariableLengthVectors throws IOB 
exception when called with 0 value after clearing vectors
                 Key: DRILL-6172
                 URL: https://issues.apache.org/jira/browse/DRILL-6172
             Project: Apache Drill
          Issue Type: Bug
            Reporter: Sorabh Hamirwasia
            Assignee: Sorabh Hamirwasia
             Fix For: 1.13.0


For VariableLengthVectors when we call *setValueCount* explicitly after 
clearing off the vector memory then it throws IOB exception. Normally 
*setValueCount* is not required to be called explicitly after clear, since 
getValueCount will return correct information. But if called it currently 
throws IOB which should not be the case.

The reason being when clear is called then it releases both offsetVector and 
dataVector memory(or DrillByteBuf). Later when setValueCount is called then it 
tries to get current value in offset vector at that valueCount index and fails 
since the length of offset vector is zero. [Reference to 
code|https://github.com/apache/drill/blob/master/exec/vector/src/main/codegen/templates/VariableLengthVectors.java#L703].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to