You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Ufuk Celebi (JIRA)" <ji...@apache.org> on 2016/06/15 15:31:09 UTC

[jira] [Created] (FLINK-4078) Use ClosureCleaner for CoGroup where

Ufuk Celebi created FLINK-4078:
----------------------------------

             Summary: Use ClosureCleaner for CoGroup where
                 Key: FLINK-4078
                 URL: https://issues.apache.org/jira/browse/FLINK-4078
             Project: Flink
          Issue Type: Bug
    Affects Versions: 1.0.3
            Reporter: Ufuk Celebi
             Fix For: 1.1.0


When specifying a key selector in the where clause of a CoGroup, the closure cleaner is not used.

{code}
.coGroup(filteredIds)
                .where(new KeySelector<T, String>() {
                    @Override
                    public String getKey(T t) throws Exception {
                        String s = (String) t.get(fieldName);
                        return s != null ? s : UUID.randomUUID().toString();
                    }
                })
{code}

The problem is that the KeySelector is an anonymous inner class and as such as a reference to the outer object. Normally, this would be rectified by the closure cleaner but the cleaner is not used in CoGroup.where().



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