Bug 971033 - connections attribute in cn=snmp,cn=monitor is counted twice
Summary: connections attribute in cn=snmp,cn=monitor is counted twice
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: 389-ds-base
Version: 6.4
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Rich Megginson
QA Contact: Sankar Ramalingam
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-06-05 13:50 UTC by Robert Moucha
Modified: 2020-09-13 20:35 UTC (History)
5 users (show)

Fixed In Version: 389-ds-base-1.2.11.15-22.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-21 21:08:50 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 720 None None None 2020-09-13 20:35:17 UTC
Red Hat Product Errata RHBA-2013:1653 normal SHIPPED_LIVE 389-ds-base bug fix update 2013-11-20 21:53:19 UTC

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


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