[ 
https://issues.apache.org/jira/browse/FLINK-3340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15144481#comment-15144481
 ] 

ASF GitHub Bot commented on FLINK-3340:
---------------------------------------

Github user ggevay commented on the pull request:

    https://github.com/apache/flink/pull/1626#issuecomment-183287868
  
    So, if I understand correctly, this is aiming to fix the problem that was 
brought up by [1], but in a different way then proposed there.
    
    I still have the same worry about this solution that I wrote in this 
comment: [2]: `MutableObjectIterator.next(reuse)` is used at 271 places, 
according to IntelliJ. If we accept the change in the object reuse contract of 
`MergeIterator.next(reuse)` introduced by 
0a8df6d513fa59d650ff875bdf3a1613d0f14af5, all the call sites can potentially 
have the same problem as the reduce drivers, so we should check all of these 
271 places. For example, just by skimming the list for a few minutes, all the 8 
calls in `CrossDriver` seem suspicious at first glance, as well as the calls in 
`UnionWithTempOperator`, `MutableHashTable.ProbeIterator.next`, and 
`ReusingBuildFirstHashJoinIterator.callWithNextKey`.
    
    My alternative solution [3] has the drawback that it would introduce an 
extra copying in `MergeIterator.HeadStream.getHead`, but would change the 
contract of `MergeIterator.next(reuse)` back to the same as it was before 
0a8df6d513fa59d650ff875bdf3a1613d0f14af5.
    
    [1] https://issues.apache.org/jira/browse/FLINK-3291
    [2] 
https://issues.apache.org/jira/browse/FLINK-3291?focusedCommentId=15130452&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15130452
    [3] 
https://github.com/ggevay/flink/commit/b05e12075bb5d0518b6fe12cd8f7de1e6b16f805


> Fix object juggling in drivers
> ------------------------------
>
>                 Key: FLINK-3340
>                 URL: https://issues.apache.org/jira/browse/FLINK-3340
>             Project: Flink
>          Issue Type: Bug
>          Components: Distributed Runtime
>    Affects Versions: 1.0.0
>            Reporter: Greg Hogan
>            Assignee: Greg Hogan
>            Priority: Critical
>
> {{ReduceDriver}}, {{ReduceCombineDriver}}, and {{ChainedAllReduceDriver}} are 
> not properly tracking objects for reuse.



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

Reply via email to