[ https://issues.apache.org/jira/browse/ARROW-2199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16385356#comment-16385356 ]
ASF GitHub Bot commented on ARROW-2199: --------------------------------------- siddharthteotia commented on a change in pull request #1646: ARROW-2199: [JAVA] Control the memory allocated for inner vectors in containers. URL: https://github.com/apache/arrow/pull/1646#discussion_r172062968 ########## File path: java/vector/src/main/java/org/apache/arrow/vector/BaseVariableWidthVector.java ########## @@ -174,14 +174,16 @@ public void setInitialCapacity(int valueCount) { * @param valueCount desired number of elements in the vector * @param density average number of bytes per variable width element */ + @Override public void setInitialCapacity(int valueCount, double density) { - final long size = (long) (valueCount * density); - if (size < 1) { - throw new IllegalArgumentException("With the provided density and value count, potential capacity of the data buffer is 0"); - } + long size = (long) (valueCount * density); if (size > MAX_ALLOCATION_SIZE) { throw new OversizedAllocationException("Requested amount of memory is more than max allowed"); } + + if(size == 0) { Review comment: Yes we cannot have an initial capacity of 0 because then our safe* functions run into an infinite loop where they try to realloc and have the target buffer size as next power of 2 -- BaseAllocator.nextPowerOfTwo returns 0 for 0 and thus safe functions keep calling realloc. This happens if the initial capacity was 0. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [JAVA] Follow up fixes for ARROW-2019. Ensure density driven capacity is > never less than 1 and propagate density throughout the vector tree > ------------------------------------------------------------------------------------------------------------------------------------------- > > Key: ARROW-2199 > URL: https://issues.apache.org/jira/browse/ARROW-2199 > Project: Apache Arrow > Issue Type: Improvement > Components: Java - Vectors > Reporter: Siddharth Teotia > Assignee: Siddharth Teotia > Priority: Major > Labels: pull-request-available > Fix For: 0.9.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)