You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2015/08/15 17:02:45 UTC

[jira] [Commented] (FLINK-2527) If a VertexUpdateFunction calls setNewVertexValue more than once, the MessagingFunction will only see the first value set

    [ https://issues.apache.org/jira/browse/FLINK-2527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14698305#comment-14698305 ] 

Stephan Ewen commented on FLINK-2527:
-------------------------------------

My first intuition is to allow {{setVertexValue}} to be called only once. After all, in this Vertex-Centric model, a vertex has only one value and the solution set should will not consider duplicates, but take only the latest values.



> If a VertexUpdateFunction calls setNewVertexValue more than once, the MessagingFunction will only see the first value set
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-2527
>                 URL: https://issues.apache.org/jira/browse/FLINK-2527
>             Project: Flink
>          Issue Type: Bug
>          Components: Gelly
>            Reporter: Gabor Gevay
>            Assignee: Gabor Gevay
>             Fix For: 0.10, 0.9.1
>
>
> The problem is that if setNewVertexValue is called more than once, it sends each new value to the out Collector, and these all end up in the workset, but then the coGroups in the two descendants of MessagingUdfWithEdgeValues use only the first value in the state Iterable. I see three ways to resolve this:
> 1. Add it to the documentation that setNewVertexValue should only be called once, and optionally add a check for this.
> 2. In setNewVertexValue, do not send the newValue to the out Collector at once, but only record it in outVal, and send the last recorded value after updateVertex returns.
> 3. Iterate over the entire Iterable in MessagingUdfWithEVsSimpleVV.coGroup and MessagingUdfWithEVsVVWithDegrees.coGroup. (This would probably still need some documentation addition.)
> I like 2. the best. What are your opinions?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)