[ https://issues.apache.org/jira/browse/FLINK-5891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15883142#comment-15883142 ]
Greg Hogan commented on FLINK-5891: ----------------------------------- The trouble with object reuse is that it is a global flag which is simplest to leave unset when composing code or using library methods. Better would be to mark object reuse enabled or disabled with annotations on each user defined {{Function}}. > 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)