]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9534 fix delta-sync startup
authorHoward Chu <hyc@openldap.org>
Sat, 24 Apr 2021 14:38:02 +0000 (15:38 +0100)
committerHoward Chu <hyc@openldap.org>
Sat, 24 Apr 2021 14:38:02 +0000 (15:38 +0100)
When transitioning from plain refresh to delta mode, don't
wait for a reschedule, go immediately.
Partially reverts f2740c79b38a986dfac78bc98c62e5f74ad9224e

servers/slapd/syncrepl.c

index 4a64b330dcb8ec0cecc16b38fd6620da4848c32e..51745097685e3c36d3b26eacbd2bec74e33c82d5 100644 (file)
@@ -2027,6 +2027,7 @@ 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;
@@ -2065,6 +2066,8 @@ do_syncrepl(
                op->o_ndn = op->o_bd->be_rootndn;
                rc = do_syncrep2( op, si );
                if ( rc == LDAP_SYNC_REFRESH_REQUIRED ) {
+                       if ( si->si_logstate == SYNCLOG_LOGGING )
+                               goto reload;
                        /* give up but schedule an immedite retry */
                        rc = SYNC_PAUSED;
                }