[email protected] 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:[email protected]]
> Sent: lunes, 20 de mayo de 2013 21:41
> To: Jorge Perez Burgos
> Cc: [email protected]
> Subject: Re: (ITS#7591) back-meta modify operation not sending result to 
> client
>
> On 05/15/2013 08:57 AM, [email protected] 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/


Reply via email to