[Pdns-users] Possible AXFR Race Condition

Ton van Rosmalen ton at netbase.nl
Wed Feb 23 09:20:55 UTC 2011


Hi p8x,

Op 23-2-2011 9:29, p8x schreef:
> Hi Ton,
>
> On 23/02/2011 4:04 PM, Ton van Rosmalen wrote:
>
> *CUT*
>
>> I'm not sure if and why a 'rediscover' would send a different
>> notification but perhaps
>> you could test the approach I use to see if it works for the
>> bind-backend as well.
>>
>> Regards,
>>
>> Ton
> Thanks for the quick reply,
>
> I am only running the 'pdns_control rediscover' on the primary server
> when a new zone is added to reread the bind config file so its away of
> the new zone. After the zone exists on the master it then sends the
> notify to the slave, adding the zone to the config but not actually
> doing a zone transfer. It is only after the second notify that the zone
> transfer actually happens (OR a server restart, a rediscover and reload
> on the slave doesn't seem to fix the issue) but that causes the domain
> to be added to the slave configuration twice (as it was first inserted
> by the first notify).
>
> The process I am going through for zone addition is this:
>
> 1. Add zone to super master
> 2. Run pdns_control rediscover on super master to re-read bind config;
> the zone becomes live on the super master
> 3. The slave receives notify packet from super master. The slave inserts
> the relevant lines into the bind slave config. The zone cannot be
> queried as no zone transfer has happened yet
>
> At stage 3 I was expecting the slave to do a zone transfer, but that
> doesn't seem to happen so it takes these steps to get the zone working
> on the slave
I would have expected this as well since the notify is accepted. I can't
comment on the reason for this not happening.
Perhaps the source code could provide some insight in this.
> 4. Restart the slave pdns server
> OR
> Resend a notifcation from the master
> 5. Zone transfer happens and zone loads/works fine
Thinking in workarounds would it be possible in your set-up to add this
immediately after the rediscover in step 2?
If you've scripted the set-up I imagine that executing:
pdns_control rediscover
pdns_control notify <domain>

might 'solve' the issue for now while you/someone looks into the
bindbackend code.

Regards,

Ton



More information about the Pdns-users mailing list