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

Re: (ITS#7591) back-meta modify operation not sending result to client



jorge.perez.burgos@ericsson.com wrote:
> 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.

This explanation makes no sense, since meta_back_op_result is being called 
with LDAP_BACK_SENDRESULT, which is SENDOK|SENDERR.

The bug is definitely a problem, I can reproduce it running test036 repeatedly 
on my laptop. Typically the test hangs within 5-10 iterations.

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


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/