[ 
https://issues.apache.org/jira/browse/DRILL-2996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053374#comment-16053374
 ] 

Paul Rogers commented on DRILL-2996:
------------------------------------

The loop is required to support skipping fields, as in Parquet. One could argue 
that one can never skip fields for required vectors.

DRILL-5211 will enforce limits on vector growth.

Still, this is an area of general clean-up. When can we skip fields?

> ValueVectors shouldn't call reAlloc() in a while() loop
> -------------------------------------------------------
>
>                 Key: DRILL-2996
>                 URL: https://issues.apache.org/jira/browse/DRILL-2996
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Data Types
>    Affects Versions: 0.9.0
>            Reporter: Chris Westin
>            Priority: Minor
>             Fix For: Future
>
>
> Instead, reAlloc() should be change to take a "new minimum size" as an 
> argument. This value is just the value used to determine the while loops' 
> termination. Then reAlloc() can figure out how much more to allocate once and 
> for all, instead of possibly reallocating and copying more than once, and it 
> can make sure that the size doesn't overflow (we've seen some instances of 
> the allocator being called with negative sizes).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to