Martin Junghanns commented on FLINK-4624:

As stated on the mailing list, the problem is that the output of the 
{{VertexGroupReducer}} represents two types of tuples: one for each vertex, 
where {{VertexGroupItem.f2 == null}} and one for the whole group where 
{{VertexGroupItem.f2 == value of type VV}}. A simple fix would be to output the 
value in all cases, but this increases intermediate data volume and is not 
necessary for the algorithm to work correctly. However, the output tuples are 
sent to a filter + map function after the groupreduce, so at least there would 
be no additional network traffic. I tested it and it fixes the issue.

I also tried to use {{Either<NullValue, VV>}} for {{f2}}. However, I am getting 
exceptions from the serializer becaue Either.Right and Either.Left are not 
serializable. Am I understanding the either type wrong? I thought this is the 
purpose of that type?

> Gelly's summarization algorithm cannot deal with null vertex group values
> -------------------------------------------------------------------------
>                 Key: FLINK-4624
>                 URL: https://issues.apache.org/jira/browse/FLINK-4624
>             Project: Flink
>          Issue Type: Bug
>          Components: Gelly
>            Reporter: Till Rohrmann
>            Assignee: Martin Junghanns
>             Fix For: 1.2.0
> Gelly's {{Summarization}} algorithm cannot handle null values in the 
> `VertexGroupItem.f2`. This behaviour is hidden by using Strings as a vertex 
> value in the {{SummarizationITCase}}, because the {{StringSerializer}} can 
> handle null values. 

This message was sent by Atlassian JIRA

Reply via email to