Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000013 [MyDNS-NG] Global major have not tried 2008-11-15 11:16 2008-11-15 11:16
Reporter howardwilkinson View Status public  
Assigned To howardwilkinson
Priority high Resolution open  
Status assigned   Product Version
Summary 0000013: Notify code has a potential classic embrace lock up
Description There is a potential in the notify code for a clasic embrace to occur where MyDNS tries to use its own DNS service to look up the addresses of the Slave servers that require NOTIFY messages. This occurs if MyDNS does not serve the zone that the slave occurs in, the machine is using the local MyDNS server to resolve (via recursion) the addresses for the machine, and there are no spare server processes to run the recursive request.

The result will be that the lookup will time out and the MyDNS server will lock up while this is happening. This will be for periods of timeout*attempts. Timeout is usually set at 5 seconds and attempts at 2 on Linux machines, thus a 10 second stall will happen.

This problem will not arises if the DNS service for the local machine is provided by other servers, there are enough spare servers to service the request locally. It can also be mitigated by having more than one DNS server on the local machine and reducing the timeout.

The only sensible fix for this is to add extra states to the task state machine and use the recursive resolution code internally. This is a major piece of engineering and is unlikely to appear before 1.3.0!

If the servers were multi-threaded then a dynamic thread could be generated to handle the notify and the problem would go away. But this is a bit of a hack and is probably not the right way to do this, as it could result in 1000's of threads when a major zone update storm occurs.
Additional Information
Tags No tags attached.
Attached Files

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2008-11-15 11:16 howardwilkinson New Issue
2008-11-15 11:16 howardwilkinson Status new => assigned
2008-11-15 11:16 howardwilkinson Assigned To => howardwilkinson

Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker