Browse Source

Bug 617013 - repl-monitor.pl use cpu upto 90%

https://bugzilla.redhat.com/show_bug.cgi?id=617013
Resolves: bug 617013
Bug Description: repl-monitor.pl use cpu upto 90%
Reviewed by: nhosoi (Thanks!)
Branch: master
Fix Description: The script recursively looks for servers - looks at servers
in replication agreements, adds them, then looks for replication agreements
on those servers, etc.  When it added the servers, the logic was faulty for
seeing if the server was already in the list.  So it just kept recursing
forever.  One of the problems was that the script did not like a hostname
with a non \w char in it, such as the "-" char.  There was another problem
with matching a server without a shadowport.
Platforms tested: RHEL5 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit 7de9007936a790625258967bfb959bc5989d25f2)
Rich Megginson 15 years ago
parent
commit
f57d88fa24
1 changed files with 2 additions and 1 deletions
  1. 2 1
      ldap/admin/src/scripts/repl-monitor.pl.in

+ 2 - 1
ldap/admin/src/scripts/repl-monitor.pl.in

@@ -783,7 +783,7 @@ sub add_server
 
 	# Remove the domain name from the host name
 	my ($hostnode) = $host;
-	$hostnode = $1 if $host =~ /^(\w+)\./;
+	$hostnode = $1 if $host =~ /^(.+?)\./;
 
 	# new host:port
 	if ($binddn eq "" || $bindpwd eq "" && $bindcert eq "") {
@@ -819,6 +819,7 @@ sub add_server
 
 	for ($i = 0; $i <= $#servers; $i++) {
 		return $i if ($servers[$i] =~ /$hostnode($domainpattern)*:\d*=$shadowport\D/i);
+		return $i if ($servers[$i] =~ /$hostnode($domainpattern)*:$port\D/i);
 	}
 
 	if ($shadowport) {