]> git.sur5r.net Git - openldap/commitdiff
ITS#8133 avoid mods during dds_db_open
authorRyan Tandy <ryan@nardis.ca>
Thu, 7 May 2015 04:39:10 +0000 (21:39 -0700)
committerRyan Tandy <ryan@nardis.ca>
Fri, 14 Aug 2015 15:46:56 +0000 (08:46 -0700)
If dds is present early in the overlay stack, the modify ops from
dds_expire can trigger other overlays before they have initialized.
Avoid that by delaying the first expiry until startup has finished.

servers/slapd/overlays/dds.c

index 56253314a708dd9954fcd1ad94c3d1270f31b1dc..b5971cbc7f079fc1e804ae125ecf691bc897a76b 100644 (file)
@@ -1740,18 +1740,6 @@ dds_db_open(
                goto done;
        }
 
-       /* ... if there are dynamic objects, delete those expired */
-       if ( di->di_num_dynamicObjects > 0 ) {
-               /* force deletion of expired entries... */
-               be->bd_info = (BackendInfo *)on->on_info;
-               rc = dds_expire( thrctx, di );
-               be->bd_info = (BackendInfo *)on;
-               if ( rc != LDAP_SUCCESS ) {
-                       rc = 1;
-                       goto done;
-               }
-       }
-
        /* start expire task */
        ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
        di->di_expire_task = ldap_pvt_runqueue_insert( &slapd_rq,