Github user vasia commented on the pull request:
https://github.com/apache/flink/pull/1956#issuecomment-220134968
Thanks for the update @gallenvara and @greghogan for the review.
I have left a few comments in places where I couldn't figure out the code
logic.
There is one more thing I'd like to discuss with you. The current
implementation is using `EdgeDirection.ALL`, but this feature is not very
efficiently implemented. It actually performs 2 coGroups (one on the source Id
and one on the target Id) and unions the outputs to create the result of the
messaging function. Instead, I was thinking we could do the following: mark the
inputs graph edges with an "authority" label and add opposite-direction edges
with a "hub" authority. Then, we can use the default edge direction (IN) to
perform the iteration. In even supersteps, each vertex sends messages only
along "authority" edges and in odd supersteps only along "hub" edges. Does this
make sense?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---