BIND 10 #134: xfrout not killed by SIGTERM

BIND 10 Development do-not-reply at isc.org
Fri Apr 23 10:38:35 UTC 2010


#134: xfrout not killed by SIGTERM
--------------------------+-------------------------------------------------
 Reporter:  jreed         |        Owner:  shane   
     Type:  defect        |       Status:  assigned
 Priority:  major         |    Milestone:          
Component:  Unclassified  |   Resolution:          
 Keywords:                |    Sensitive:  0       
--------------------------+-------------------------------------------------

Comment(by shane):

 The problem with this approach is that it will only shutdown the server
 after all xfrout have completed. This could take several seconds or even
 HOURS, depending on what is going on. (Imagine a server sending the .CN
 zone)

 Just had a quick conversation with Feng, and I think we actually have a
 harder problem here. :)

 The question is: What does the administrator want to do?

   1. Wait until all in-progress operations are done, then shut down?
   1. Shut down right away?

 Sometimes you want to wait until everything is done, then exit. Sometimes
 you want to stop RIGHT AWAY.

 Also note that when you say "wait", what you actually mean is "wait for a
 while". Sometimes this is a couple seconds (when you are rebooting the box
 perhaps), sometimes this several minutes (like when you are stopping the
 process by hand), sometimes this is hours (like if a really long XFR is
 going out).

 So, I propose that we need to change the behavior to implement two
 different shutdown styles from the point of view of xfrout:

   1. Begin shutdown
   1. Shut down right away

 In the first case, we would wait until all threads are done then exit. In
 the second case, xfrout can just call sys.exit() and let the OS clean
 everything up.

 What the administrator probably wants from either using ctrl-C or "killall
 bind10" is:

   * Tell me that shutdown has started
   * If you are waiting on something, tell me how many are left and update
 me as they exit
   * Let me hit ctrl-C or send SIGTERM again to stop right away (tell me I
 can do this, too)

 If the administrator is using bindctl, we probably want something like:

   * Give me two options "shutdown" and "force-shutdown" - the second stops
 right away
   * If I do "shutdown", keep me informed of the status of the shutdown

 This may seem a bit complicated, but I think it is probably the right
 answer.

 I'm going to cut & paste this to bind10-dev for wider discussion...

-- 
Ticket URL: <http://bind10.isc.org/ticket/134#comment:9>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list