Bug 971033 - connections attribute in cn=snmp,cn=monitor is counted twice
connections attribute in cn=snmp,cn=monitor is counted twice
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: 389-ds-base (Show other bugs)
6.4
x86_64 Linux
unspecified Severity medium
: rc
: ---
Assigned To: Rich Megginson
Sankar Ramalingam
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-05 09:50 EDT by Robert Moucha
Modified: 2013-11-21 16:08 EST (History)
5 users (show)

See Also:
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 16:08:50 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Robert Moucha 2013-06-05 09:50:57 EDT
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 12:49:57 EDT
Upstream ticket:
https://fedorahosted.org/389/ticket/47383
Comment 10 errata-xmlrpc 2013-11-21 16:08:50 EST
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

Note You need to log in before you can comment on or make changes to this bug.