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