[
https://issues.apache.org/jira/browse/DRILL-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16209236#comment-16209236
]
Arina Ielchiieva commented on DRILL-5771:
-----------------------------------------
1. Create parquet table with two partitions.
{noformat}
/my_table/part_1/f1.parquet
/my_table/part_2/f2.parquet
{noformat}
2. Update parquet format plugin to include non-default parameters.
{noformat}
"parquet": {
"type": "parquet",
"autoCorrectCorruptDates":false
},
{noformat}
3. Execute the query using table function and slice_target option set to 1.
{noformat}
alter session set `planner.slice_target` = 1;
select * from table(dfs.`my_table`(type=>'parquet'))
{noformat}
4. Exception.
{noformat}
15:16:23.614 [2618b9e8-be4b-ac57-9b39-a8d45eb7662a:frag:1:1] ERROR
o.a.d.e.w.fragment.FragmentExecutor - SYSTEM ERROR: NullPointerException
Fragment 1:1
[Error Id: 291455a8-a569-4ef1-9644-46914bc0b32c on 10.2.14.99:31010]
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
NullPointerException
Fragment 1:1
[Error Id: 291455a8-a569-4ef1-9644-46914bc0b32c on 10.2.14.99:31010]
at
org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:586)
~[classes/:na]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:298)
[classes/:na]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:160)
[classes/:na]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:267)
[classes/:na]
at
org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
[classes/:na]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_79]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_79]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Instantiation
of [simple type, class org.apache.drill.exec.store.parquet.ParquetRowGroupScan]
value failed (java.lang.NullPointerException): null
at [Source: {
"pop" : "single-sender",
"@id" : 0,
"receiver-major-fragment" : 0,
"receiver-minor-fragment" : 0,
"child" : {
"pop" : "parquet-row-group-scan",
"@id" : 1,
"userName" : "User",
"storage" : {
"type" : "file",
"enabled" : true,
"connection" : "file:///",
"config" : null,
"workspaces" : {
"root" : {
"location" : "/",
"writable" : false,
"defaultInputFormat" : null
},
"tmp" : {
"location" : "/tmp",
"writable" : false,
"defaultInputFormat" : null
}
},
"formats" : {
"psv" : {
"type" : "text",
"extensions" : [ "tbl" ],
"delimiter" : "|"
},
"csv" : {
"type" : "text",
"extensions" : [ "csv" ],
"delimiter" : ","
},
"tsv" : {
"type" : "text",
"extensions" : [ "tsv" ],
"delimiter" : "\t"
},
"httpd" : {
"type" : "httpd",
"logFormat" : "%h %t \"%r\" %>s %b \"%{Referer}i\"",
"timestampFormat" : null
},
"parquet" : {
"type" : "parquet",
"autoCorrectCorruptDates" : false
},
"json" : {
"type" : "json",
"extensions" : [ "json" ]
},
"pcap" : {
"type" : "pcap"
},
"avro" : {
"type" : "avro"
},
"sequencefile" : {
"type" : "sequencefile",
"extensions" : [ "seq" ]
},
"csvh" : {
"type" : "text",
"extensions" : [ "csvh" ],
"extractHeader" : true,
"delimiter" : ","
}
}
},
"entries" : [ {
"path" :
"/parquet_table_with_partitions/part_2/alltypes_required.parquet",
"start" : 4,
"length" : 667,
"rowGroupIndex" : 0,
"numRecordsToRead" : 4
} ],
"columns" : [ "`*`" ],
"selectionRoot" : "file:/parquet_table_with_partitions",
"filter" : "true",
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"formatConfig" : {
"type" : "parquet"
},
"cost" : 0.0
},
"destination" : "CgoxMC4yLjE0Ljk5EKLyARij8gEgpPIBMg8xLjEyLjAtU05BUFNIT1Q=",
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 8.0
}; line: 90, column: 3] (through reference chain:
org.apache.drill.exec.physical.config.SingleSender["child"])
at
com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:263)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.wrapAsJsonMappingException(StdValueInstantiator.java:445)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.rewrapCtorProblem(StdValueInstantiator.java:464)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:258)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:135)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:444)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId(BeanDeserializerBase.java:1094)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:166)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:135)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:120)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:91)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:142)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:488)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:465)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:380)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId(BeanDeserializerBase.java:1094)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:166)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:135)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:120)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:91)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:142)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:63)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1579)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1200)
~[jackson-databind-2.7.8.jar:2.7.8]
at
org.apache.drill.exec.planner.PhysicalPlanReader.readFragmentRoot(PhysicalPlanReader.java:101)
~[classes/:na]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:204)
[classes/:na]
... 4 common frames omitted
Caused by: java.lang.NullPointerException: null
at
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
~[guava-18.0.jar:na]
at
org.apache.drill.exec.store.parquet.ParquetRowGroupScan.<init>(ParquetRowGroupScan.java:82)
~[classes/:na]
at
org.apache.drill.exec.store.parquet.ParquetRowGroupScan.<init>(ParquetRowGroupScan.java:68)
~[classes/:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) ~[na:1.7.0_79]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
~[na:1.7.0_79]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[na:1.7.0_79]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
~[na:1.7.0_79]
at
com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:124)
~[jackson-databind-2.7.8.jar:2.7.8]
at
com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:256)
~[jackson-databind-2.7.8.jar:2.7.8]
... 30 common frames omitted
{noformat}
> Add unit tests to check that all storage plugin can be successfully
> serialized / deserialized
> ---------------------------------------------------------------------------------------------
>
> Key: DRILL-5771
> URL: https://issues.apache.org/jira/browse/DRILL-5771
> Project: Apache Drill
> Issue Type: Task
> Reporter: Arina Ielchiieva
> Priority: Minor
>
> Create unit tests to check that all storage format plugins can be
> successfully serialized / deserialized. Usually this happens when query has
> several major fragments. To ensure that we can use {{slice_target=1}} option.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)