I would like to add that it would be good to have an admin override on this.  
If someone accidentally makes the wait time 100 mins instead of 100 seconds, it 
would be good to have an admin be able to really truly kill it faster.


- Bobby

On Tuesday, January 17, 2017, 9:44:08 AM CST, Bobby Evans <[email protected]> 
wrote:In order to kill a topology with no wait period the operator needs to 
supply extra arguments `-w 0`  or the code needs to be a few lines longer to 
pass in the KillOptions with a 0 timeout.  If you want a configured minimum 
timeout for a given topology I think that would be perfectly fine.  We do not 
currently support that, but please file a JIRA and hopefully someone can take a 
look at supporting it.  You can probably do a lot of the work yourself if you 
want to.
The function you care about is here
https://github.com/apache/storm/blob/51c8474143b0081ff0522b0367f3efdba2689089/storm-core/src/jvm/org/apache/storm/daemon/nimbus/Nimbus.java#L2573-L2595
and it really would be mostly inserting a check 
probably after this line
https://github.com/apache/storm/blob/51c8474143b0081ff0522b0367f3efdba2689089/storm-core/src/jvm/org/apache/storm/daemon/nimbus/Nimbus.java#L2583
to be sure the waitAmount is >= the configured minimum.


- Bobby

On Tuesday, January 17, 2017, 1:28:32 AM CST, Sachin Pasalkar 
<[email protected]> wrote:Currently user can kill topology directly 
without waiting for some amount of time so that all inflight messages will get 
processed.  For example, storm is writing to file & user kills topology, file 
is not closed or moved to proper location. We need to educate operation guys to 
do the right things also there are some chances that it will be not followed 
causing system to go in inconsistent state.

Can we set mandatory timeout (configurable) when user kills storm topology? 
User should not be allowed kill topology with time less than mentioned time.

Some case:
1) If topology is long running don't allow user to kill but time not less than 
mentioned one
2) If topology is just deployed allow him to kill instantly (as it might be 
some mistake)
3) Handle same cases from command-line.

Thanks,
Sachin

Reply via email to