[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: (ITS#7591) back-meta modify operation not sending result to client
Hi,
At the end, meta_back_op_result() will map inside the error returned by ldap_modify_ext to LDAP_OTHER, since we don't call it with LDAP_BACK_SENDERR, nothing is sent. Since the error is not LDAP_UNAVAILABLE there will be no retries. I think this happens too in add and delete.
BR
-----Original Message-----
From: Pierangelo Masarati [mailto:pierangelo.masarati@polimi.it]
Sent: lunes, 20 de mayo de 2013 21:41
To: Jorge Perez Burgos
Cc: openldap-its@openldap.org
Subject: Re: (ITS#7591) back-meta modify operation not sending result to client
On 05/15/2013 08:57 AM, jorge.perez.burgos@ericsson.com wrote:
> kludge fix for the problem
>
> --- servers/slapd/back-meta/modify.c 2012-07-31 18:39:26.000000000 +0200
> +++ servers/slapd/back-meta/modify.c 2013-05-14 12:45:39.273333000 +0200
> @@ -176,6 +176,7 @@
> }
> modv[ i ] = 0;
>
> + rs->sr_type = -1;
> retry:;
> ctrls = op->o_ctrls;
> rc = meta_back_controls_add( op, rs, mc, candidate, &ctrls ); @@
> -198,6 +200,10 @@
> }
>
> cleanup:;
> + if (rs->sr_type != REP_RESULT) {
> + send_ldap_error(op, rs, LDAP_OTHER, "connection problem trying to reach the other node");
> + }
> +
> (void)mi->mi_ldap_extra->controls_free( op, rs, &ctrls );
>
> if ( mdn.bv_val != op->o_req_dn.bv_val ) {
Thanks for the feedback; I am under the impression that a result should have been returned by meta_back_op_result(). Before applying the suggested fix, I would like to understand whether that function was called and in case why it did not send a result.
p.
--
Pierangelo Masarati
Associate Professor
Dipartimento di Ingegneria Aerospaziale
Politecnico di Milano