Hello, I've used delta iterations several times up until now, but I just realized that I never fully understood what happens inside. And the documentation only explains things from a user's perspective. Which is why I could really use your help :).
Here goes nothing: In Gelly, Graph.java, there is a nice runVertexCentricIteration(...) method, which is in fact Spargel's - that disguises a delta iteration. What I am trying to do is to set the vertex value before running DataSet<Vertex<K, VV>> newVertices = verticesWithInDegrees.runOperation(iteration); The problem is that after this runOperation, the vertex values get reset. Now, when I looked in VertexCentricIteration.java's createResult(). It's a plain delta iteration that (more or less) looks like this: final DeltaIteration<Vertex<VertexKey, VertexValue>, Vertex<VertexKey, VertexValue>> iteration = this.initialVertices.iterateDelta(this.initialVertices, this.maximumNumberOfIterations, zeroKeyPos); ................ // configure coGroup update function with name and broadcast variables updates = updates.name("Vertex State Updates"); for (Tuple2<String, DataSet<?>> e : this.bcVarsUpdate) { updates = updates.withBroadcastSet(e.f1, e.f0); } // let the operator know that we preserve the key field updates.withForwardedFieldsFirst("0").withForwardedFieldsSecond("0"); return iteration.closeWith(updates, updates); The DataSet<?> in the for is the problem. Vertex values get reset. Can someone give me a hint on how to propagate the vertex value throughout the iteration? Thanks! Andra ---------------------------------------------------------------------------------------- P.S. Could someone please subscribe me to the @user mailing list? For some reason, sending the mail to that recipient fails. Thanks!