You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Neville Dipale (JIRA)" <ji...@apache.org> on 2019/03/15 03:49:00 UTC

[jira] [Commented] (ARROW-4886) [Rust] Inconsistent behaviour with casting sliced primitive array to list array

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

Neville Dipale commented on ARROW-4886:
---------------------------------------

This behaviour is introduced by ARROW-4865 but I've added an error/limit on list casts that guards against it as mitigation.

> [Rust] Inconsistent behaviour with casting sliced primitive array to list array
> -------------------------------------------------------------------------------
>
>                 Key: ARROW-4886
>                 URL: https://issues.apache.org/jira/browse/ARROW-4886
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Rust
>    Affects Versions: 0.12.0
>            Reporter: Neville Dipale
>            Priority: Major
>
> [~csun] I was going through the C++ cast implementation to see if I've missed anything, and I noticed that ListCastKernel ([https://github.com/apache/arrow/blob/master/cpp/src/arrow/compute/kernels/cast.cc#L665]) doesn't support casting non-zero-offset arrays. So I investigated what happens in Rust ARROW-4865. I found an inconsistency where inheriting the incoming array's offset could lead us to read invalid data.
> I tried fixing it, but found that a buffer that I expected to be invalid was being returned as valid, but returning invalid data.
> I've currently disabled casting primitive to array where the offset is not zero, and I'd like to wait for ARROW-4853 so I can see how sliced lists behave, and fix this inconsistency. That might only happen in 0.14, so I'm fine with that.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)