GitHub user Ethanlm opened a pull request:

    https://github.com/apache/storm/pull/2325

    [STORM-2738] The number of ackers should default to the number of actual 
running workers on RAS cluster

    **Problem**:
    If `topology.acker.executors` is not set, the number of ackers will be 
equal to `topology.workers`. But on RAS cluster, we don't set 
`topology.workers` because the number of workers will be determined by the 
scheduler. So in this case, the number of ackers will always be 1.
    For example, there are 5 workers but only 1 acker.
    
![image](https://user-images.githubusercontent.com/14900612/30453805-bc75493e-995f-11e7-8fd9-d17616620344.png)
    
    **Analysis**:
    The number of ackers has to be computed before scheduling happens, so it 
knows how to schedule the topology. The number of workers is not set until the 
topology is scheduled, so it is a bit of a chicken and egg problem.
    **Solution**:
    We could probably use the total amount of requested memory when the 
topology is submitted divided by the memory per worker to get an estimate that 
is better than 1.
    
    
    JIRA at https://issues.apache.org/jira/browse/STORM-2738


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/Ethanlm/storm STORM-2738

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/storm/pull/2325.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2325
    
----
commit 9a1f86182fc8c15c3fe170c5da32f15e37463717
Author: Ethan Li <[email protected]>
Date:   2017-09-13T18:55:47Z

    [STORM-2738] The number of ackers should default to the number of actual 
running workers on RAS cluster

----


---

Reply via email to