[
https://issues.apache.org/jira/browse/TEZ-1190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15652811#comment-15652811
]
Bikas Saha commented on TEZ-1190:
---------------------------------
How is the restriction of either all named or unnamed helpful?
How about an implementation approach where all implicit behavior is removed in
the core layer. And edges are always named. In the DAGClient layer, the new API
will provide the name or for backwards compatibility the DAGClient layer will
auto-generate uniqueNames (e.g. SourceDestinationCounter). Thus the implicit
existing behaviors is limited to the DAGClient layer.
Similarly for plugins/contexts, we could add a new API with the edge name
semantics instead of overloading the semantics because both parameters
(sourceName or edgeName) are string. And we could deprecate the existing
semantic API that uses vertex names. A translation layer could handle the
implicit conversion of vertexName to auto-generated names produced by the
DAGClient.
The reason I suggest changing the internal core layer to always use edge names
and keep the compatibility handling to the API layers is that might be cleaner
cut of the code. And reduce the number of bugs left behind due to missed cases
of implicit use. By continuing to support implicit names internally we may
increase the surface area of such leaks.
Rest looks good to me for now. Nice job with capturing the cases! Of course the
devil is in the details :)
BTW, the doc implicitly assumes that the dummy vertex approach is being dropped
in favor of the named edge approach?
> Allow multiple edges between two vertices
> -----------------------------------------
>
> Key: TEZ-1190
> URL: https://issues.apache.org/jira/browse/TEZ-1190
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Daniel Dai
> Assignee: Zhiyuan Yang
> Attachments: NamedEdgeDesign.pdf, TEZ-1190.prototype.patch
>
>
> This will be helpful in some scenario. In particular example, we can merge
> two small pipelines together in one pair of vertex. Note it is possible the
> edge type between the two vertexes are different.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)