[ https://issues.apache.org/jira/browse/FLINK-2527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephan Ewen resolved FLINK-2527. --------------------------------- Resolution: Fixed Fixed - 0.10 in 0ea0bc12b3f8a8a82b6fca563340af547c0a02ab - 0.9.1 in e8802f90a4d38dbd4f3fc12b973639dbf50b61bb > 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)