Question re dynamically updating an SOA

Karl Auer kauer at biplane.com.au
Mon Dec 19 22:34:40 UTC 2005


On Mon, 19 Dec 2005 17:02:30 -0500, Kevin Darcy <kcd at daimlerchrysler.com> wrote:
> >Soooo - what to do? Have I overlooked something obvious? Or should I forget about trying to do dynamic updates of the SOA?
> >
> Either suspend all automatic updates while performing this transaction, 
> or, if that's not acceptable, select a sufficiently-large increment for 
> your "manual" Dynamic Update that will surely pass all automatic updates 
> that are made in the interim -- unless you're getting millions of 
> Dynamic Updates a second, you should be able to find an approriate 
> increment.

Thanks Kevin.

Suspending automatic updates would mean a break, however brief, in service. Not that our SOA is going to be changing that frequently, so that could well be a good approach in practice.

The "big jump" method might also work, but it's pretty ugly.

One suggestion made in RFC2136 is to use the old SOA record as a "marker RR". Sit in a loop that gets the old SOA and tries the update with the old SOA as a prerequisite (and a suitably incremented serial number). If any other update has changed the SOA before your update arrives, your update will fail, and you'll loop to try again. If you are getting a lot of dynamic updates you could loop for a long time (theoretically, possibly forever!) but it should still work in practice, and you can always limit the number of retries. On the other hand, there seems to be some discrepancy between the statements in RFC2136 regarding comparisons (1.1) and the suggestion that an SOA RR can be used as a marker RR (5.7).

Time to experiment :-)

Regards, K.
 
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Karl Auer (kauer at biplane.com.au)                   +61-2-64957160 (w/h)
http://www.biplane.com.au/~kauer/                  +61-428-957160 (mob)



More information about the bind-users mailing list