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

ASF GitHub Bot commented on DRILL-5517:
---------------------------------------

Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/840#discussion_r123131374
  
    --- Diff: exec/vector/src/main/codegen/templates/FixedValueVectors.java ---
    @@ -806,10 +998,32 @@ public void generateTestDataAlt(int size) {
         }
     
       </#if> <#-- type.width -->
    +    /**
    +     * Backfill missing offsets from the given last written position to the
    +     * given current write position. Used by the "new" size-safe column
    +     * writers to allow skipping values. The <tt>set()</tt> and 
<tt>setSafe()</tt>
    +     * <b>do not</b> fill empties. See DRILL-5529 and DRILL-xxxx.
    +     * @param lastWrite the position of the last valid write: the offset
    +     * to be copied forward
    +     * @param index the current write position filling occurs up to,
    +     * but not including, this position
    +     */
    +
    +    public void fillEmptiesBounded(int lastWrite, int index)
    +            throws VectorOverflowException {
    +      for (int i = lastWrite; i < index; i++) {
    +    <#if type.width <= 8>
    --- End diff --
    
    Fixed.


> Provide size-aware set operations in value vectors
> --------------------------------------------------
>
>                 Key: DRILL-5517
>                 URL: https://issues.apache.org/jira/browse/DRILL-5517
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.11.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>             Fix For: 1.11.0
>
>
> DRILL-5211 describes a memory fragmentation issue in Drill. The resolution is 
> to limit vector sizes to 16 MB (the size of Netty memory allocation "slabs.") 
> Effort starts by providing "size-aware" set operations in value vectors which:
> * Operate as {{setSafe()}} while vectors are below 16 MB.
> * Throw a new, specific exception ({{VectorOverflowException}}) if setting 
> the value (and growing the vector) would exceed the vector limit.
> The methods in value vectors then become the foundation on which we can 
> construct size-aware record batch "writers."



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

Reply via email to