Bug 594670

Summary: ypbind probes for the fastest server too often
Product: Red Hat Enterprise Linux 4 Reporter: Tomas Smetana <tsmetana>
Component: ypbindAssignee: Honza Horak <hhorak>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: urgent Docs Contact:
Priority: urgent    
Version: 4.8CC: azelinka, ddumas, kvolny, mkhusid, mmatsuya, ovasik
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 594668 Environment:
Last Closed: 2011-07-19 06:31:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Tomas Smetana 2010-05-21 10:08:32 UTC
+++ This bug was initially created as a clone of Bug #594668 +++

Description of problem:
The ypbind manual page says that it checks the current server every 20s to confirm it is up, and also pings all configured servers every 15 minutes to check on which is currently the fastest to respond. In fact it pings the servers every minute which may cause ypbind to flip the servers very often.

Version-Release number of selected component (if applicable):
ypbind-1.17.2-13

How reproducible:
Always

Steps to Reproduce:
1. configure ypbind to try to contact more servers, i.e. add two servers to /etc/yp.conf (one of them must be reachable):

ypserver 192.168.1.1
ypserver 192.168.1.2

2. start ypbind in the debug mode

ypbind -debug

3. it logs out the pings of the servers
  
Actual results:
The "Check new for fastest server." logs appear every minute:

Expected results:
The "Check new for fastest server" logs appear every 15 minutes (as documented)

Additional info:
This seems to be caused by the ypbind-mt-1.17-log-binds.patch which contains the following chunk:
@@ -1024,7 +1049,8 @@ test_bindings (void *param __attribute__
 	pthread_exit (&success);
 
       lastcheck += ping_interval;
-      if (lastcheck >= 900) /* 900 = 15min. */
+      //if (lastcheck >= 900) /* 900 = 15min. */
+      if (lastcheck >= 60) /* 900 = 15min. */
 	lastcheck = 0;
 
       lastcheck = test_bindings_once(lastcheck);

At the first glance it looks like this has been added for the debugging purposes to test the patch for the bug #198689.  We should revert this part or explain why does the interval have to be shortened this much and fix the documentation.

Comment 1 Karel Klíč 2010-05-21 10:58:23 UTC
Yes, the limit should be set back to 900 (15 minutes).

Comment 2 RHEL Product and Program Management 2010-10-22 18:53:43 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated in the
current release, Red Hat is unfortunately unable to address this
request at this time. Red Hat invites you to ask your support
representative to propose this request, if appropriate and relevant,
in the next release of Red Hat Enterprise Linux.

Comment 3 Masahiro Matsuya 2011-02-25 08:32:13 UTC
*** Bug 680351 has been marked as a duplicate of this bug. ***

Comment 15 errata-xmlrpc 2011-07-19 06:31:38 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0955.html