[ 
https://issues.apache.org/jira/browse/DRILL-7472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16994311#comment-16994311
 ] 

ASF GitHub Bot commented on DRILL-7472:
---------------------------------------

paul-rogers commented on pull request #1925: DRILL-7472: Fix ser / de for sys 
and information_schema schemas queries
URL: https://github.com/apache/drill/pull/1925#discussion_r356990235
 
 

 ##########
 File path: 
exec/java-exec/src/test/java/org/apache/drill/exec/store/sys/TestSystemTable.java
 ##########
 @@ -61,6 +61,12 @@ public void optionsOrderBy() throws Exception {
     test("select * from sys.options order by name");
   }
 
+  @Test
+  public void testSerDe() throws Exception {
+    PlanTestBase.testPhysicalPlanExecutionBasedOnQuery("select * from 
sys.threads");
+    PlanTestBase.testPhysicalPlanExecutionBasedOnQuery("select * from 
sys.connections limit 10");
 
 Review comment:
   This test is sort of OK. (It converts the plan to a physical plan, then 
executes it.) But, we don't check the results.
   
   A better SerDe test is to convert the object to JSON, then convert back and 
compare the two objects. (I have such a test I added for the column metadata 
serialization for which I need to issue a PR after the release.)
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Complex queries on INFORMATION_SCHEMA fail when `planner.slice_target`is small
> ------------------------------------------------------------------------------
>
>                 Key: DRILL-7472
>                 URL: https://issues.apache.org/jira/browse/DRILL-7472
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.16.0
>            Reporter: Vova Vysotskyi
>            Assignee: Arina Ielchiieva
>            Priority: Major
>             Fix For: 1.17.0
>
>
> Set small value for slice_target:
> {code:sql}
> alter session set `planner.slice_target`=1;
> {code}
> Run query on INFORMATION_SCHEMA:
> {code:sql}
> select * from information_schema.`tables` where TABLE_NAME='lineitem' order 
> by TABLE_NAME;
> {code}
> It will fail with the following exception:
> {noformat}
> Error: SYSTEM ERROR: InvalidDefinitionException: Cannot construct instance of 
> `org.apache.drill.exec.store.ischema.InfoSchemaFilter$ExprNode` (no Creators, 
> like default construct, exist): cannot deserialize from Object value (no 
> delegate- or property-based Creator)
>  at [Source: (String)"{
>   "pop" : "hash-partition-sender",
>   "@id" : 0,
>   "receiver-major-fragment" : 2,
>   "child" : {
>     "pop" : "InfoSchemaSubScan",
>     "@id" : 1,
>     "table" : "TABLES",
>     "filter" : {
>       "exprRoot" : {
>         "type" : "FUNCTION",
>         "function" : "equal",
>         "args" : [ {
>           "type" : "FIELD",
>           "field" : "TABLE_NAME"
>         }, {
>           "type" : "CONSTANT",
>           "value" : "lineitem"
>         } ]
>       }
>     },
>     "initialAllocation" : 1000000,
>     "maxAllocat"[truncated 681 chars]; line: 11, column: 9] (through 
> reference chain: 
> org.apache.drill.exec.physical.config.HashPartitionSender["child"]->org.apache.drill.exec.store.ischema.InfoSchemaSubScan["filter"]->org.apache.drill.exec.store.ischema.InfoSchemaFilter["exprRoot"])
> {noformat}
> Even when deserialization is fixed, it will fail when creating 
> InfoSchemaBatchCreator:
> {noformat}
> java.lang.Exception: org.apache.drill.common.exceptions.UserRemoteException: 
> SYSTEM ERROR: UnsupportedOperationException: Schema tree can only be created 
> in root fragment. This is a non-root fragment.
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to