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.