Commit 904863cb authored by Howard Chu's avatar Howard Chu Committed by Quanah Gibson-Mount
Browse files

ITS#9534 fix delta-sync startup

When transitioning from plain refresh to delta mode, don't
wait for a reschedule, go immediately.
Partially reverts f2740c79
parent d8dac4be
......@@ -1900,6 +1900,8 @@ done:
if ( msg ) ldap_msgfree( msg );
if ( rc ) {
if ( rc == LDAP_SYNC_REFRESH_REQUIRED && si->si_logstate == SYNCLOG_LOGGING && si->si_ld )
return rc;
/* never reuse existing connection */
if ( si->si_conn ) {
connection_client_stop( si->si_conn );
......@@ -2044,6 +2046,7 @@ do_syncrepl(
rc = do_syncrep1( op, si );
}
reload:
/* Process results */
if ( rc == LDAP_SUCCESS ) {
ldap_get_option( si->si_ld, LDAP_OPT_DESC, &s );
......@@ -2065,6 +2068,14 @@ 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 ) {
if ( BER_BVISNULL( &si->si_syncCookie.octet_str ))
slap_compose_sync_cookie( NULL, &si->si_syncCookie.octet_str,
si->si_syncCookie.ctxcsn, si->si_syncCookie.rid,
si->si_syncCookie.sid, NULL );
rc = ldap_sync_search( si, op->o_tmpmemctx );
goto reload;
}
/* give up but schedule an immedite retry */
rc = SYNC_PAUSED;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment