bug in reload single zone feature

Mark_Andrews at isc.org Mark_Andrews at isc.org
Wed Jun 30 01:41:59 UTC 1999


> 
> version: BIND 8.2.1
> 
> I could not find a reference to this in any previous posts.  I apologize
> if this is a duplicate.
> This may or may not be a bug--I may just be misinterpreting the feature.
> 
> Using the single domain reload (ndc reload domain.com), you can
> instruction your master to reload a single domain.  However, there seems
> to be a problem if you request multiple reload requests within a certain
> period of time, even after the zones have transferred to the slaves.
> 
> For example:
> 
> 1. make change to domain.com zone file, update serial
> 2. ndc reload domain.com
> 3. "Zone scheduled for reloading"
> 4. master updates its own record.  master sends NOTIFY to slaves.
> 5. slaves respond NOTIFY answer
> 6. zones transfer to update slaves
> 7. make another change to domain.com zone file, update serial
> 8. ndc reload domain.com
> 9. receive "Zone is already scheduled for reloading"
> 
> After receiving this message, it seems to be that the master will not
> reload the zone, nor send requests--it basically junks the request (more
> accurately, perhaps: ndc junks the request).
> 
> I tried again in 20-30 minutes with the same result.
> When I tried again in a bit over an hour, the process was handled
> properly.
> 
> Here's the big question: how does BIND handle its request TTL for
> single-zone reloads?  Or, maybe the question should be: what is BIND
> using as a criteria for a successful reload of the zone record?  Or is
> there some general TTL for the reload process that basically locks out
> further requests to reload the some zone for X seconds?
> 
> JD
> 
> ===========================================
> John N Dvorak | dvorak at capu.net
> Director of Technology
> CapuNet, LLC - Corporate Internet Solutions
> (301) 881-4900 x8018
> ===========================================
> 
> 
> 
Index: src/include/isc/list.h
===================================================================
RCS file: /proj/cvs/isc/bind/src/include/isc/list.h,v
retrieving revision 8.2
diff -c -r8.2 list.h
*** list.h	1999/01/08 19:23:05	8.2
--- list.h	1999/06/30 01:40:51
***************
*** 66,71 ****
--- 66,73 ----
  			(elt)->link.prev->link.next = (elt)->link.next; \
  		else \
  			(list).head = (elt)->link.next; \
+ 		(elt)->link.prev = (void *)(-1); \
+ 		(elt)->link.next = (void *)(-1); \
  	} while (0)
  
  #define PREV(elt, link) ((elt)->link.prev)
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka at isc.org


More information about the bind-users mailing list