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