[
https://issues.apache.org/jira/browse/TAJO-269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14259998#comment-14259998
]
ASF GitHub Bot commented on TAJO-269:
-------------------------------------
Github user hyunsik commented on the pull request:
https://github.com/apache/tajo/pull/322#issuecomment-68246166
In this patch, I mainly did as follows:
* Change TaskRequestProto to use protobuf serialized plan instead JSON
serialized plan
* Implement LogicalNodeTreeSerializer and LogicalNodeTreeDeserializer
In order to verify the de/serialization of logical plan, I injected some
test codes to check equality between the original plan and a restored plan from
serialized protobuf plan. For it, I've improved GlobalPlanner to have some
rewrite engine, and I changed TajoTestingCluster to inject additional rewrite
rules to check the equality. As a result, I added two rewrite rules:
* GlobalPlanEqualityTester
* LogicalPlanEqualityTester
While I'm working on it, I corrected some wrong or bad names as follow.
* Rename BasicLogicalPlanVisitor::visitDistinct to visitDistinctGroupby
* Rename RelationNode::getLogicalSchema to getTableSchema
* Rename DistingtGroupbyNode::getGroupByNodes to getSubPlans
> Protocol buffer De/Serialization for LogicalNode
> ------------------------------------------------
>
> Key: TAJO-269
> URL: https://issues.apache.org/jira/browse/TAJO-269
> Project: Tajo
> Issue Type: Task
> Components: query master, worker
> Reporter: Jihoon Son
> Assignee: Hyunsik Choi
> Fix For: 0.10
>
>
> In the current implementation, the logical plan is serialized into a JSON
> object and sent to each worker.
> However, the transmission of JSON object incurs the high overhead due to its
> large size.
> ProtocolBuffer is a good alternative because its overhead is quite small and
> already used in other modules of Tajo.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)