You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Xingcan Cui (JIRA)" <ji...@apache.org> on 2017/02/23 02:26:44 UTC

[jira] [Commented] (FLINK-5891) ConnectedComponents is broken when object reuse enabled

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

Xingcan Cui commented on FLINK-5891:
------------------------------------

Hi Greg, may I ask what does "when object reuse enabled" mean here? Is it necessary to make a copy of the attribute min before storing it?

> ConnectedComponents is broken when object reuse enabled
> -------------------------------------------------------
>
>                 Key: FLINK-5891
>                 URL: https://issues.apache.org/jira/browse/FLINK-5891
>             Project: Flink
>          Issue Type: Bug
>          Components: Gelly
>    Affects Versions: 1.3.0
>            Reporter: Greg Hogan
>
> {{org.apache.flink.graph.library.ConnectedComponents.CCUpdater#updateVertex}} is storing a value from its iterator.
> {{GSAConnectedComponents}} does not have this limitation.
> {code}
> 	public static final class CCUpdater<K, VV extends Comparable<VV>>
> 		extends GatherFunction<K, VV, VV> {
> 		@Override
> 		public void updateVertex(Vertex<K, VV> vertex, MessageIterator<VV> messages) throws Exception {
> 			VV current = vertex.getValue();
> 			VV min = current;
> 			for (VV msg : messages) {
> 				if (msg.compareTo(min) < 0) {
> 					min = msg;
> 				}
> 			}
> 			if (!min.equals(current)) {
> 				setNewVertexValue(min);
> 			}
> 		}
> 	}
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)