You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Tugdual Grall (JIRA)" <ji...@apache.org> on 2015/06/22 20:48:01 UTC

[jira] [Updated] (DRILL-3334) "java.lang.IllegalStateException: Failure while reading vector.: raised when using dynamic schema in JSON

     [ https://issues.apache.org/jira/browse/DRILL-3334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tugdual Grall updated DRILL-3334:
---------------------------------
    Attachment: test.zip

Sample data

>  "java.lang.IllegalStateException: Failure while reading vector.: raised when using dynamic schema in JSON
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-3334
>                 URL: https://issues.apache.org/jira/browse/DRILL-3334
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Data Types
>    Affects Versions: 1.0.0
>         Environment: Single Node running on OSX
> and
> MapR Hadoop SandBox + Drill
>            Reporter: Tugdual Grall
>            Assignee: Daniel Barclay (Drill)
>         Attachments: test.zip
>
>
> I have a simple data set based on 3 JSON documents:
>  - 1 customer
>  - 2 orders
> (I have attached the document to the JIRA)
> when I do the following query that is a join between order and customers I can raise some unexpected exception.
> A working query:
> {code}
> SELECT customers.id, orders.total
> FROM  dfs.ecommerce.`customers/*.json` customers,
>      dfs.ecommerce.`orders/*.json` orders
> WHERE customers.id = orders.cust_id
> AND customers.country = 'FRANCE'
> {code}
> It works since orders.total is present in all orders
> Now when I execute the following query (tax is not present in all document)
> {code}
> SELECT customers.id, orders.tax
> FROM  dfs.ecommerce.`customers/*.json` customers,
>      dfs.ecommerce.`orders/*.json` orders
> WHERE customers.id = orders.cust_id
> AND customers.country = 'FRANCE'
> {code}
> Thsi query raise the following exception:
> {code}
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: java.lang.IllegalStateException: Failure while reading vector. Expected vector class of org.apache.drill.exec.vector.NullableIntVector but was holding vector class org.apache.drill.exec.vector.NullableBigIntVector. Fragment 0:0 [Error Id: a7ad300a-4446-41f3-8b1c-4bb7d1dbfb52 on maprdemo:31010]
> {code}
> If you cannot reproduce with tax, you can try with the field:
>  orders.cool
> or simply move the tax field from one document to the others.
> (the field must be present in 1 document only)
> It looks like Drill is losing the list of columns present globally.
> Note: if I use a field that does not exist in any document it is working ( orders.this_is_crazy )
> Note: if I use * instead of a projection this raise another exception:
> {code}
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: org.apache.drill.exec.exception.SchemaChangeException: Hash join does not support schema changes Fragment 0:0 [Error Id: 0b20d580-37a3-491a-9987-4d04fb6f2d43 on maprdemo:31010]
> {code}



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