drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Rogers (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DRILL-5597) Incorrect "bits" vector allocation in nullable vectors allocateNew()
Date Tue, 20 Jun 2017 02:10:00 GMT
Paul Rogers created DRILL-5597:
----------------------------------

             Summary: Incorrect "bits" vector allocation in nullable vectors allocateNew()
                 Key: DRILL-5597
                 URL: https://issues.apache.org/jira/browse/DRILL-5597
             Project: Apache Drill
          Issue Type: Bug
    Affects Versions: 1.10.0
            Reporter: Paul Rogers
            Assignee: Paul Rogers
            Priority: Minor
             Fix For: 1.11.0


Consider the following code in a generated nullable vector, such as {{NullableBigIntVector}}:

{code}
  public void allocateNew(int valueCount) {
    try {
      values.allocateNew(valueCount);
      bits.allocateNew(valueCount+1);
{code}

There are as may "bits" entries as data entries, no need to allocate an extra 1. When the
{{valueCount}} is a power of two, the error will cause the allocation of twice as large a
vector as necessary. (128K, say, instead of 64K, since 64K+1 power-of-two rounds to 128K.)

By contrast the +1 correction is needed for offset vectors, but the "bits" vector is not an
offset vector.



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

Mime
View raw message