--On Wednesday, March 29, 2017 3:37 PM +0000 Ole Nomann Thomsen ole.nomann@stil.dk wrote:
[Side note, do I answer this directly to you, or to the list? I choose directly for now ]
The list.
Thanks for your answer
I use -d because I run slapd under deamontools (https://cr.yp.to/daemontools/faq/create.html) and multilog (https://cr.yp.to/daemontools/multilog.html) that are both suited for servers that run in the foreground. So the "not in the background" thing is intentional. I realize that I might be misusing the -d facility somewhat, but it has been working fine until now. Reworking the setup to use backgrounding and syslog is really not an option at this time.
I use bdb backend database.
I'd strongly advise not using back-bdb.
I agree that I have lots of clients that disconnect without closing. Could this somehow provoke the error? It seems to be cycling in this line:
/* get (locked) connection */ c = connection_get( s );
if( c == NULL ) { Debug( LDAP_DEBUG_ANY, "connection_read(%ld): no connection!\n", (long) s, 0, 0 );
return -1;
}
2017-03-06 13:56:23.140091500 58bd5c77 connection_read(64): no connection! 2017-03-06 13:56:23.140093500 58bd5c77 connection_read(64): no connection! 2017-03-06 13:56:23.140095500 58bd5c77 connection_read(64): no connection! 2017-03-06 13:56:23.140097500 58bd5c77 connection_read(64): no connection!
Once in every 2 microseconds - that suggest som kind of unintended loop to me.
No, you simply have clients that have disconnected before slapd could finish sending them results. Given that you clearly have broken clients, I'd suggest you see about setting the (olc)writetimeout parameter documented in slapd.conf(5)/slapd-config(5) and see if it alleviates the issue you are facing.
--Quanah
Regards Ole Nomann Thomsen Seniorkonsulent
Undervisningsministeriet Styrelsen for It og Læring Center for Digitale Overgange og it-styring
Telefon: 3587 8889 Direkte: +45 35 87 85 35
ole.nomann@stil.dk www.stil.dk
-----Oprindelig meddelelse----- Fra: Quanah Gibson-Mount [mailto:quanah@symas.com] Sendt: 23. marts 2017 19:42 Til: Ole Nomann Thomsen; 'openldap-technical@openldap.org' Emne: Re: 100.000 pr. second: "connection_read(64): no connection" from slapd
--On Thursday, March 23, 2017 2:37 PM +0000 Ole Nomann Thomsen ole.nomann@stil.dk wrote:
Hi all,
my slapd (@(#) $OpenLDAP: slapd 2.4.44 (Feb 9 2017 13:38:13) $) has developed a tendency to become unresponsive for 10-30 minutes at a
time.
I run it with -dStats,Sync which gets me a fair amount of debugging info. This I pipe thru multilog to get the timestamps below.
Why are you using -d? This prevents slapd from forking. It is better to set the loglevel to be stats+sync, and push out data to syslog.
2017-03-10 14:39:08.686058500 58c2ac7c slapd shutdown: waiting for 3643059 operations/tasks to finish
You need to determine why tasks are not finishing and instead are remaining unfinished. What databse backend are you using? I would note that it would appear that you have clients disconnecting w/o waiting for the server to respond (thus the no connection messages).
--Quanah
--
Quanah Gibson-Mount Product Architect Symas Corporation Packaged, certified, and supported LDAP solutions powered by OpenLDAP: http://www.symas.com
--
Quanah Gibson-Mount Product Architect Symas Corporation Packaged, certified, and supported LDAP solutions powered by OpenLDAP: http://www.symas.com
openldap-technical@openldap.org