[ 
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)

Reply via email to