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

Hanifi Gunes updated DRILL-1459:
--------------------------------
    Attachment: DRILL-1459.1.patch.txt

Make sure to materialize child fields of given SerializedField. This helps us 
create one and only one vector per field per RecordBatch. Also prevents JVM 
from crashing that occurs in case vectors created during previous 
RecordBatchLoader#load is accessed.

> Invalid field materialization causes vectors being created multiple times and 
> crashes jvm in case a nested field is accessed
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-1459
>                 URL: https://issues.apache.org/jira/browse/DRILL-1459
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Hanifi Gunes
>            Assignee: Hanifi Gunes
>         Attachments: DRILL-1459.1.patch.txt
>
>
> Currently RecordBatchLoader#load relies on MaterializedField#create to 
> materialize a SerializedField. However, MaterializedField#create method 
> disregards child fields of SerializedField so the resultant materialized 
> field has only the root of the given serialized field. Instead, child fields 
> are added during vectorization.
> Next time, we hit to RecordBatchLoader#load method, materialized field check 
> fails because the previous materialized field now has children but newly 
> materialized field does not. This misleads RecordBatchLoader#load to think 
> that schema has changed and to create a new vector even though schema is the 
> same.
> Additionally, running a nested query on the previously created vector 
> instance crashes the jvm. 



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

Reply via email to