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