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

Hanifi Gunes updated DRILL-1459:
--------------------------------
    Description: 
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. 

  was:
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 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. 


> 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
>
> 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