Github user StephanEwen commented on the issue:

    https://github.com/apache/flink/pull/2376
  
    Very good work and very nice code!
    
    Some comments after a joint review:
    
      - The most critical issue is that there should not be any blocking on 
async threads during task shutdown. This unnecessarily delays responses to 
canceling and redeployment.
    
      - At this point, the `KeyGroupAssigner` interface seems a bit useless, 
especially if it is not parametrized with variable key group mappings. For the 
sake of making this simpler and more efficient, one could just have a static 
method for that.
    
      - I would suggest to make the assumption that key groups are always used 
(they should be, even if their number is equal to the parallelism), and drop 
the checks for `numberOfKeyGroups > 0`, for example in the 
KeyGroupHashPartitioner.
    
      - A bit more difficult is what to assume as the default number of key 
groups. We thought about assuming a default of `128`. That has no overhead in 
state backends like RocksDB and also allows initial job deployments which did 
not think about properly configuring this to have some freedom to scale out. If 
the parallelism is >= 128, this should probably round to the next highest 
power-of-two.
    
      - There are some log statements which cause log flooding, like an INFO 
log statement for every checkpoint stream (factory) created.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to