[ 
https://issues.apache.org/jira/browse/FLINK-1569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aljoscha Krettek reassigned FLINK-1569:
---------------------------------------

    Assignee: Aljoscha Krettek

> Object reuse mode is not working with KeySelector functions.
> ------------------------------------------------------------
>
>                 Key: FLINK-1569
>                 URL: https://issues.apache.org/jira/browse/FLINK-1569
>             Project: Flink
>          Issue Type: Bug
>          Components: Java API
>    Affects Versions: 0.9
>            Reporter: Robert Metzger
>            Assignee: Aljoscha Krettek
>
> The following code works correctly when object reuse is switched off.
> When switching it on, the results are wrong.
> Using a string-based key selection (putting "name") works for both cases.
> {code}
>       @Test
>       public void testWithAvroGenericSer() throws Exception {
>               final ExecutionEnvironment env = 
> ExecutionEnvironment.getExecutionEnvironment();
>       //      env.getConfig().enableObjectReuse();
>               Path in = new Path(inFile.getAbsoluteFile().toURI());
>               AvroInputFormat<User> users = new AvroInputFormat<User>(in, 
> User.class);
>               DataSet<User> usersDS = env.createInput(users);
>               DataSet<Tuple2<String, Integer>> res = usersDS.groupBy(new 
> KeySelector<User, String>() {
>                       @Override
>                       public String getKey(User value) throws Exception {
>                               return String.valueOf(value.getName());
>                       }
>               }).reduceGroup(new GroupReduceFunction<User, Tuple2<String, 
> Integer>>() {
>                       @Override
>                       public void reduce(Iterable<User> values, 
> Collector<Tuple2<String, Integer>> out) throws Exception {
>                               for(User u : values) {
>                                       out.collect(new Tuple2<String, 
> Integer>(u.getName().toString(), 1));
>                               }
>                       }
>               });
>               res.writeAsText(resultPath);
>               res.print();
>               env.execute("Avro Key selection");
>               expected = "(Charlie,1)\n(Alyssa,1)\n";
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to