Bug 798159
Summary: | Binding files gets removed leading to too many sockets in "time wait" state | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Magnus E <magnus.ekhall> | ||||
Component: | ypbind | Assignee: | Honza Horak <hhorak> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 16 | CC: | hhorak, kklic | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | ypbind-1.35-1.fc16 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2012-04-12 02:45:38 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Magnus E
2012-02-28 07:59:19 UTC
I was wondering how it is possible to get to a state where binding files have been deleted without deleting them manually, since it didn't seem to be reproducible using a simple configuration. If ypserv service is stopped, binding files won't be erased, which should be probably fixed by the way. Looking at the current code, the reported problem (erased binding files) can occur if a server answers to ping for rpcbind's info, finds out that ypserv is correctly bound, but the ypserv service itself doesn't respond. It seems like a race condition or an issue triggered by some unusual configuration, nevertheless it can happen. These are steps how this can be consistently reproduced: 1) configure ypserv (alice) and ypbind (bob) 2) turn on iptables on alice and open ports 111 for rpcbind and relevant ports for ypserv (see rpcbind -p localhost on alice) 3) start ypbind on bob - yptest should work 4) see /var/yp/bindings/domainname.* files are present on bob 5) close ypserv ports on alice 6) sleep 25s on bob (let ypbind check for active servers) 7) see yptest doesn't work on bob and /var/yp/bindings/domainname.* are missing 8) open ypserv ports on alice again 9) sleep 25s on bob (to let ypbind check for active servers) 10) yptest works on bob, but /var/yp/bindings/domainname.* are still missing Created attachment 570633 [details]
proposed patch
Binding files are not created if the current active server is the same as the last active server (comparing hostname and port for a domain). So, if binding files have been erased anyhow and a new server has the same attributes like the last active one, no binding files are re-created.
These are changes we need to do:
1) Binding files has to be erased also when no servers answer to pinging, which is not being done currently.
2) If binding files are removed, we should also clear information about the last active server.
The patch supplied in comment #2 solves the issue! The binding files now gets recreated instead of being gone forever. ypbind-1.35-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/ypbind-1.35-1.fc17 ypbind-1.35-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/ypbind-1.35-1.fc16 Package ypbind-1.35-1.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing ypbind-1.35-1.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-4730/ypbind-1.35-1.fc17 then log in and leave karma (feedback). I don't have a user name to log in with, but you have my karma this way instead. ypbind-1.35-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. ypbind-1.35-1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. |