Univention Bugzilla – Full Text Bug Listing |
Summary: | rndc reload against dlz_bind9 takes three minutes (plus segfault) | ||
---|---|---|---|
Product: | UCS | Reporter: | Arvid Requate <requate> |
Component: | Samba4 | Assignee: | Arvid Requate <requate> |
Status: | CLOSED FIXED | QA Contact: | Stefan Gohmann <gohmann> |
Severity: | normal | ||
Priority: | P1 | CC: | gohmann, roland.buser, walkenhorst |
Version: | UCS 4.0 | ||
Target Milestone: | UCS 4.0-3-errata | ||
Hardware: | Other | ||
OS: | Linux | ||
URL: | https://bugzilla.samba.org/show_bug.cgi?id=13214 | ||
What kind of report is it?: | --- | What type of bug is this?: | --- |
Who will be affected by this bug?: | --- | How will those affected feel about the bug?: | --- |
User Pain: | Enterprise Customer affected?: | ||
School Customer affected?: | ISV affected?: | ||
Waiting Support: | Flags outvoted (downgraded) after PO Review: | ||
Ticket number: | Bug group (optional): | ||
Max CVSS v3 score: | |||
Attachments: | dlz_bind9_rndc_reload.patch |
Description
Arvid Requate
2015-08-10 22:25:52 CEST
Created attachment 7099 [details]
dlz_bind9_rndc_reload.patch
The attached patch (still raw debug version) fixes the issue.
For every "rndc reload" the dlz_create method of dlz_bind9 is called, then the dlz_configure method which apparently always needs to report all zones found as writeable, even though the module was not unloaded in the mean time. This seems to be necessary due to the way bind9 handles "views". The bind9 syslog output is pretty misleading here:
===============================================================
Aug 5 08:10:59 unassigned-hostname named[2916]: Loading 'samba4.zone' using driver dlopen
Aug 5 08:10:59 unassigned-hostname named[2916]: samba_dlz: dlz_create (2)
Aug 5 08:10:59 unassigned-hostname named[2916]: samba_dlz: starting configure
[...]
Aug 5 08:10:59 unassigned-hostname named[2916]: samba_dlz: configured writeable zone '8.200.10.in-addr.arpa'
[...]
Aug 5 08:10:59 unassigned-hostname named[2916]: samba_dlz: configured writeable zone 'arucs31ad1.qa'
[...]
Aug 5 08:10:59 unassigned-hostname named[2916]: samba_dlz: configured writeable zone '_msdcs.arucs31ad1.qa'
[...]
Aug 5 08:10:59 unassigned-hostname named[2916]: Warning: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones
Aug 5 08:10:59 unassigned-hostname named[2916]: zone 8.200.10.in-addr.arpa/NONE: (other) removed
Aug 5 08:10:59 unassigned-hostname named[2916]: zone arucs31ad1.qa/NONE: (other) removed
Aug 5 08:10:59 unassigned-hostname named[2916]: zone _msdcs.arucs31ad1.qa/NONE: (other) removed
Aug 5 08:10:59 unassigned-hostname named[2916]: reloading configuration succeeded
Aug 5 08:10:59 unassigned-hostname named[2916]: reloading zones succeeded
Aug 5 08:10:59 unassigned-hostname named[2916]: samba_dlz: dlz_destroy called
===============================================================
But the "zone ... (other) removed" messages only seem to indicate that the zones have been removed from "the old production view list or our temporary list", quoting a comment from bind9-9.8.4.dfsg.P1/bin/named/server.c.
Also the "samba_dlz: dlz_destroy called" seems to follow this pattern:
* rndc reload
* dlz_create (second time / instance)
* dlz_configure (for new view)
* dlz_destroy (probably to get rid of the first instance)
Since the dlz_bind9 module behaves like a singleton, the dlz_destroy doesn't do anything as long as the reference count of the module has not reached zero.
Details you probably don't want to known. :-)
*** Bug 39080 has been marked as a duplicate of this bug. *** The samba source package is rebuilt with adjusted/improved dlz_bind9 patch. With the fix this doesn't hang and crash the named any more: /usr/sbin/rndc reload; host $(hostname) Advisory: 2015-08-12-samba.yaml *** Bug 39076 has been marked as a duplicate of this bug. *** Tests: OK (I was able to reproduce it with the old version) YAML: OK |