From: Howard Chu Date: Sun, 21 Mar 2021 17:41:19 +0000 (+0000) Subject: ITS#8589 syncrepl: defer on REFRESH_REQUIRED X-Git-Tag: OPENLDAP_REL_ENG_2_5_3BETA~3^2~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2740c79b38a986dfac78bc98c62e5f74ad9224e;p=thirdparty%2Fopenldap.git ITS#8589 syncrepl: defer on REFRESH_REQUIRED Schedule a new retry instead of immediate looping back. This will also prevent locking up cn=config replication. --- diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index db3e5ea22d..abf24f581c 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -2027,7 +2027,6 @@ do_syncrepl( if ( !si->si_schemachecking ) op->o_no_schema_check = 1; -reload: /* Establish session, do search */ if ( !si->si_ld ) { si->si_refreshDelete = 0; @@ -2066,7 +2065,8 @@ reload: op->o_ndn = op->o_bd->be_rootndn; rc = do_syncrep2( op, si ); if ( rc == LDAP_SYNC_REFRESH_REQUIRED ) { - goto reload; + /* give up but schedule an immedite retry */ + rc = SYNC_PAUSED; } deleted: