You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Bryan Cutler (Jira)" <ji...@apache.org> on 2021/02/22 23:53:00 UTC
[jira] [Resolved] (ARROW-11223) [Java]
BaseVariableWidthVector/BaseLargeVariableWidthVector setNull and
getBufferSizeFor is buggy
[ https://issues.apache.org/jira/browse/ARROW-11223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Cutler resolved ARROW-11223.
----------------------------------
Fix Version/s: 4.0.0
Resolution: Fixed
Issue resolved by pull request 9187
[https://github.com/apache/arrow/pull/9187]
> [Java] BaseVariableWidthVector/BaseLargeVariableWidthVector setNull and getBufferSizeFor is buggy
> -------------------------------------------------------------------------------------------------
>
> Key: ARROW-11223
> URL: https://issues.apache.org/jira/browse/ARROW-11223
> Project: Apache Arrow
> Issue Type: Bug
> Components: Java
> Affects Versions: 2.0.0
> Reporter: Weichen Xu
> Assignee: Weichen Xu
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.0.0
>
> Time Spent: 7h 10m
> Remaining Estimate: 0h
>
> We may get error java.lang.IndexOutOfBoundsException: index: 15880, length: 4 (expected: range(0, 15880)).
> I test on arrow 2.0.0
> Reproduce code in scala:
> {code}
> import org.apache.arrow.vector.VarCharVector
> import org.apache.arrow.memory.RootAllocator
> val rootAllocator = new RootAllocator(Long.MaxValue)
> val v1 = new VarCharVector("var1", rootAllocator)
> v1.allocateNew()
> val valueCount = 3970 // use any number >= 3970 will get similar error
> for (idx <- 0 until valueCount) {
> v1.setNull(idx)
> }
> v1.getBufferSizeFor(valueCount) # failed, get error java.lang.IndexOutOfBoundsException: index: 15880, length: 4 (expected: range(0, 15880))
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)