[ 
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)

Reply via email to