Github user jihoonson commented on the pull request:
https://github.com/apache/tajo/pull/593#issuecomment-121170531
@hyunsik thanks for your review. I've reflected all your comments and added
more comments to help your understanding.
Regarding on the question about JoinGraph::addJoin, it seems that there are
some misunderstandings. The JoinGraph::addJoin method just checks whether there
is a cycle rather than physically cutting it. This is to maintain the ```root
vertexes``` which the graph traverse is started from. In this patch, the root
vertexes are identified if they don't have any incoming edges. However, in the
presence of a cycle, every vertex has at least one incoming edge, so cannot be
the root vertex. The if clause related to the cycle at JoinGraph.java:43 is to
prevent such case.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---