You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tajo.apache.org by "Hyunsik Choi (JIRA)" <ji...@apache.org> on 2013/07/26 14:11:58 UTC

[jira] [Commented] (TAJO-92) LogicalNode misses some fields when it converts to json

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

Hyunsik Choi commented on TAJO-92:
----------------------------------

This is definitely a bug. This is caused lazy copy approach. I'm going to find out the solution. Thank you for reporting.
                
> LogicalNode misses some fields when it converts to json
> -------------------------------------------------------
>
>                 Key: TAJO-92
>                 URL: https://issues.apache.org/jira/browse/TAJO-92
>             Project: Tajo
>          Issue Type: Bug
>          Components: optimizer
>            Reporter: hyoungjunkim
>         Attachments: TAJO-92_TEST.patch
>
>
> See title. The below code reproduces the error
> {code}
>     PlanningContext context = analyzer.parse(
>             "select table0.age, count(*) as count_age from table0 group by table0.age");
>     LogicalNode plan = logicalPlanner.createPlan(context);
>     plan = LogicalOptimizer.optimize(context, plan);
>     String planJSON = plan.toJSON();
>     LogicalNode planFromJSON = GsonCreator.getInstance().fromJson(planJSON, LogicalNode.class);
>     MasterPlan globalPlan = planner.build(queryId, (LogicalRootNode) planFromJSON);
> {code}
> {noformat}
> com.google.protobuf.UninitializedMessageException: Message missing required fields: type
> 	at com.google.protobuf.AbstractMessage$Builder.newUninitializedMessageException(AbstractMessage.java:605)
> 	at org.apache.tajo.catalog.proto.CatalogProtos$FunctionDescProto$Builder.build(CatalogProtos.java:6999)
> 	at org.apache.tajo.catalog.FunctionDesc.mergeLocalToProto(FunctionDesc.java:231)
> 	at org.apache.tajo.catalog.FunctionDesc.getProto(FunctionDesc.java:193)
> 	at org.apache.tajo.catalog.FunctionDesc.equals(FunctionDesc.java:168)
> 	at org.apache.tajo.util.TUtil.checkEquals(TUtil.java:44)
> 	at org.apache.tajo.engine.eval.FuncEval.equals(FuncEval.java:93)
> 	at org.apache.tajo.engine.planner.PlannerUtil.transformGroupbyTo2P(PlannerUtil.java:196)
> 	at org.apache.tajo.engine.planner.PlannerUtil.transformGroupbyTo2PWithStore(PlannerUtil.java:242)
> 	at org.apache.tajo.master.GlobalPlanner$GlobalPlanBuilder.visit(GlobalPlanner.java:136)
> 	at org.apache.tajo.engine.planner.logical.UnaryNode.postOrder(UnaryNode.java:66)
> 	at org.apache.tajo.engine.planner.logical.UnaryNode.postOrder(UnaryNode.java:65)
> 	at org.apache.tajo.engine.planner.logical.UnaryNode.postOrder(UnaryNode.java:65)
> 	at org.apache.tajo.master.GlobalPlanner.convertTo2Phase(GlobalPlanner.java:279)
> 	at org.apache.tajo.master.GlobalPlanner.build(GlobalPlanner.java:99)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira