From adb82a79fa08b2df073a8e026b52d763d8a773ca Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 6 Apr 2007 01:24:32 +0000 Subject: [PATCH] ITS#4915 log retry status --- servers/slapd/syncrepl.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index de124ea18c..07ae667a69 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -1029,7 +1029,7 @@ do_syncrepl( int rc = LDAP_SUCCESS; int dostop = 0; ber_socket_t s; - int i, defer = 1; + int i, defer = 1, fail = 0; Backend *be; Debug( LDAP_DEBUG_TRACE, "=>do_syncrepl rid %03d\n", si->si_rid, 0, 0 ); @@ -1148,18 +1148,36 @@ reload: if ( !si->si_retrynum || si->si_retrynum[i] == RETRYNUM_TAIL ) { ldap_pvt_runqueue_remove( &slapd_rq, rtask ); + fail = RETRYNUM_TAIL; } else if ( RETRYNUM_VALID( si->si_retrynum[i] ) ) { if ( si->si_retrynum[i] > 0 ) si->si_retrynum[i]--; + fail = si->si_retrynum; rtask->interval.tv_sec = si->si_retryinterval[i]; ldap_pvt_runqueue_resched( &slapd_rq, rtask, 0 ); slap_wake_listener(); } } - + ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); ldap_pvt_thread_mutex_unlock( &si->si_mutex ); + if ( rc ) { + if ( fail == RETRYNUM_TAIL ) { + Debug( LDAP_DEBUG_ANY, + "do_syncrepl: rid %03d quitting\n", + si->si_rid, 0, 0 ); + } else if ( fail > 0 ) { + Debug( LDAP_DEBUG_ANY, + "do_syncrepl: rid %03d retrying (%d retries left)\n", + si->si_rid, fail, 0 ); + } else { + Debug( LDAP_DEBUG_ANY, + "do_syncrepl: rid %03d retrying\n", + si->si_rid, 0, 0 ); + } + } + return NULL; } -- 2.47.2