hyoungjunkim created TAJO-92:
--------------------------------

             Summary: 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


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

Reply via email to