[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: sssvlv
- To: <hyc@symas.com>
- Subject: RE: sssvlv
- From: Chris Card <ctcard@hotmail.com>
- Date: Fri, 1 Jul 2011 09:23:24 +0000
- Cc: openldap-technical@openldap.org
- Importance: Normal
- In-reply-to: <SNT129-W9518F6251CC9EBB6E9424CC5B0@phx.gbl>
- References: <SNT129-W23C857558E1812B370A711CC640@phx.gbl>, , <7DF75C067E7A13350166CA08@[192.168.1.2]>, <SNT129-W2694F5F9D624B972CABAE5CC570@phx.gbl>, <4E0900D8.1070302@symas.com>, <SNT129-W58ACD77BC6E8F1F93CA881CC580@phx.gbl>, <4E0D1FF3.2050508@symas.com>, <SNT129-W1F23B55A3598E3A9B7EE9CC5B0@phx.gbl>, <4E0D8485.8030201@symas.com>, <SNT129-W9518F6251CC9EBB6E9424CC5B0@phx.gbl>
>
> > >>> Thanks for the info.
> > >>> Is it the case that sort requests are associated with a particular connection?
> > >>
> > >> What does RFC2891 say?
> > >>
> > > As far as I can see it doesn't mention connections.
> >
> > Then probably the answer is no.
> >
> > > However, looking at the code in sssvlv.c, it appears that a sort operation is associated with a session, and a session
> > > is associated with a connection, e.g. on line 900 of sssvlv.c in sssvlv_op_search():
> > >
> > > sort_conns[op->o_conn->c_conn_idx][sess_id] = so;
> >
> > That's actually limiting VLV requests. You didn't ask about VLV requests, you
> > asked about sort requests. Ask the wrong question, get a useless answer. So
> > now, what does draft-ietf-ldapv3-vlv say?
> >
> I guess this is a relevant section (the only occurrences of "connection" in the spec):
>
> "contextID values have no validity outside
> the connection and query with which they were received. A client MUST
> NOT submit a contextID which it received from a different connection,
> a different query, or a different server."
>
> which does partly answer my question about the VLV request, but says nothing about any related sort operation.
>
> > >>>> From my testing it seems that a sort request will remain active in the server evenif the client disconnects, which doesn't seem right.
> > >>
> > >> How are you determining that this is the case?
> > >
> > > I'm using ldapsearch to test requests with sss and vlv controls. After running several such ldapsearch commands I get an
> > > error from the server :
> > >
> > > # search result
> > > search: 2
> > > result: 51 Server is busy
> > > text: Other sort requests already in progress
> > >
> > > I am assuming that the connection to the server is dropped when the ldapsearch command terminates; that
> > > must certainly be the case at the client end since the process no longer exists.
> >
> > I see no such error here. I can run ldapsearch and send VLV requests ad
> > nauseam. Most likely you have misconfigured something again.
>
> Always possible, but I would expect that ldapsearch terminating would cause the server to drop the connection and clean up any sort request associated with a vlv request on that connection. I'll do some more investigation.
>
More investigation done, and the problem appears to be another difference between specifying the sssvlv overlay as global or local to the database config.
If I specify the sssvlv overlay in the database config then I can also send VLV requests ad nauseam, I only see the error when I specify the sssvlv overlay as global.
Chris