Bug 971033

Summary: connections attribute in cn=snmp,cn=monitor is counted twice
Product: Red Hat Enterprise Linux 6 Reporter: Robert Moucha <robert.moucha>
Component: 389-ds-baseAssignee: Rich Megginson <rmeggins>
Status: CLOSED ERRATA QA Contact: Sankar Ramalingam <sramling>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.4CC: jgalipea, lnovich, mkubik, nhosoi, nkinder
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: 389-ds-base-1.2.11.15-22.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-21 21:08:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Robert Moucha 2013-06-05 13:50:57 UTC
Description of problem:
Attribute "connections" in cn=snmp,cn=monitor should keep "Number of currently connected clients", as described in ldap/servers/slapd/slap.h
Because of error in program logic, it is incremented twice - in functions disconnect_server_nomutex() and connection_reset(). The value is never decremented.

Version-Release number of selected component (if applicable):
389-Directory/1.2.11.15 B2013.105.1910

How reproducible:
ldapsearch -b 'cn=monitor' connections connectionseq currentconnections
...
# monitor
dn: cn=monitor
currentconnections: 46

# counters, monitor
dn: cn=counters,cn=monitor

# snmp, monitor
dn: cn=snmp,cn=monitor
connections: 116016
connectionseq: 58031

Note that 2 * 58031 - 116016 = 46

Actual results:
connections: 116016

Expected results:
connections: 46

Additional info:

Problem is in function:
void disconnect_server_nomutex( Connection *conn, PRUint64 opconnid, int opid, PRErrorCode reason, PRInt32 error )
where is called:
   slapi_counter_increment(g_get_global_snmp_vars()->ops_tbl.dsConnections);
instead of:
   slapi_counter_decrement(g_get_global_snmp_vars()->ops_tbl.dsConnections);

Attribute "currentconnections" doesn't suffer this problem because it's value is taken directly from connection table.

Comment 2 Nathan Kinder 2013-06-05 16:49:57 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/47383

Comment 10 errata-xmlrpc 2013-11-21 21:08:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1653.html