"Mark" == Mark Andrews <Mark_Andrews(_at_)isc(_dot_)org> writes:
>> >>>>> "Mark" == Mark Andrews <Mark_Andrews(_at_)isc(_dot_)org> writes:
>>
>> >> - 'The syslog Protocol ' <draft-ietf-syslog-protocol-19.txt>
>> as >> a Proposed Standard
>>
Mark> draft-ietf-syslog-protocol-19.txt recommends using a
Mark> reliable protocol. Existing implementations of syslog do
Mark> this and deadlock with nameservers which are logging via
Mark> syslog.
>>
>>
>> Please explain the deadlock in more detail. One of the primary
>> reasons for the syslog working group is reliable syslog, so I
>> think we need to focus on how to avoid the deadlock in other
>> ways rather than avoiding reliability.
Mark> nameserver logs to syslog. syslog trys to resolve a
Mark> address which requires the nameserver to succeed. syslog()
Mark> uses a reliable transport to talk to syslogd. This pipe
Mark> fills up. syslog() then blocks waiting on syslogd which is
Mark> waiting on the nameserver ....
This is mostly out of scope for the current document which focuses on
syslog communication between systems not within a system.
Additional ways to break the deadlock:
1) Provide syslogd with at least one non-locally-logging nameserver
2) Provide enough buffering that the probability you run into this is
acceptable.
3) Use an asynchronous DNS library in syslogd
I do think a note about deadlocks would be useful in the protocol
document.
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf