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

Reply via email to