Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-4083

Use ClosureCleaner for Join where and equalTo

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.0.3
    • 1.1.0
    • None
    • None

    Description

      When specifying a key selector in the where or equalTo clause of a Join, the closure cleaner is not used. Same problem as FLINK-4078.

      .join(ds)
      	.where(new KeySelector<CustomType, Integer>() {
      		@Override
      		public Integer getKey(CustomType value) {
      			return value.myInt;
      		}
      	})
      	.equalTo(new KeySelector<CustomType, Integer>(){
      
      		@Override
      		public Integer getKey(CustomType value) throws Exception {
      			return value.myInt;
      		}
      	});
      

      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 Join.where() and Join.equalTo().

      Attachments

        Issue Links

          Activity

            People

              srichter Stefan Richter
              srichter Stefan Richter
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: