[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: sssvlv




>
> > >>> 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