Github user srdo commented on the issue:

    https://github.com/apache/storm/pull/1825
  
    @liurenjie1024 Okay, it makes sense that having Kafka manage partitions 
isn't really necessary since Storm will make sure to keep spout instances 
running. I can't speak to how much of an overhead and unpredictability there 
really is to making Kafka manage it though, but it's fine by me if we want to 
switch to manual management. I can't think of a good reason for supporting both 
manual and automatic assignment though. 
    
    The reason the old Kafka spout did manual assignment was that automatic 
assignment wasn't available on the old APIs as far as I know.
    
    I agree that we shouldn't have two variants of the spout, it just adds 
unnecessary complexity. I'd rather we just do a solid manual assignment 
implementation and get rid of the automatic code, if we need to switch.
    
    Keep in mind that to be on par with automatic assignment manual assignment 
needs to support adding partitions without requiring a spout restart, and 
without the spout instances stepping on each others' toes (e.g. avoid 
partitions being assigned to two spout instances at once, even while 
reassigning).
    
    @hmcl Sure, it's more readable if strategies like this can be sectioned off 
in their own classes. If we really have to support both, I think it's nicer if 
assignment can be implemented through delegates rather than through subclassing.


---
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