You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Steven Phillips (JIRA)" <ji...@apache.org> on 2015/05/05 03:56:06 UTC

[jira] [Commented] (DRILL-2587) Random IOBException when doing an inner join on a table with wide strings

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

Steven Phillips commented on DRILL-2587:
----------------------------------------

I am pretty sure this is caused by DRILL-2954. Here is what I think happened:

1. call allocateNewSafe() on VarCharVector
2. this calls clear(), which releases the data in the offsetVector, and sets offsetVector's data field to EmptyBuf
3. attempt to allocate new buffer for VarCharVector's data
4. this fails, returning false, which gets propogated back through AllocationHelper.allocateNew().
5. this boolean is never checked.
6. subsequently, we attempt to write to the buffer, but the offset vector still has the EmptyBuf.

> Random IOBException when doing an inner join on a table with wide strings
> -------------------------------------------------------------------------
>
>                 Key: DRILL-2587
>                 URL: https://issues.apache.org/jira/browse/DRILL-2587
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Relational Operators
>    Affects Versions: 0.8.0
>            Reporter: Rahul Challapalli
>            Assignee: Jason Altekruse
>            Priority: Critical
>             Fix For: 1.0.0
>
>         Attachments: error.log
>
>
> git.commit.id.abbrev=462e50c
> When I ran the below query along with similar such queries in parallel, I have seen it fail randomly. Did not see this failure from sqlline when I ran this query alone.
> {code}
> select ws1.* from widestrings ws1 INNER JOIN (select str_var_null_empty from widestrings where str_var_null_empty is not null and length(str_var_null_empty) <> 0 )ws2 on ws1.str_empty_null=ws2.str_var_null_empty where ws1.str_empty_null is not null and length(ws1.str_empty_null) <> 0 and length(ws1.str_var_null_empty) > 4995 and length(ws2.str_var_null_empty) > 4800;
> {code}
> I attached the error log. Since the data is large, I did not attach it here



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)