s4-dreplsrv: Move partition cache update before scheduling another set of replications
authorKamen Mazdrashki <kamenim@samba.org>
Fri, 27 Aug 2010 23:26:00 +0000 (02:26 +0300)
committerKamen Mazdrashki <kamenim@samba.org>
Sat, 28 Aug 2010 20:38:59 +0000 (23:38 +0300)
source4/dsdb/repl/drepl_periodic.c

index d2fbe45586b8f2b4d184b4e4f4d4c65e99e4e570..9200606956305a2477be15a7b6614fc1cc1d91e3 100644 (file)
@@ -99,6 +99,13 @@ static void dreplsrv_periodic_run(struct dreplsrv_service *service)
 
        DEBUG(2,("dreplsrv_periodic_run(): schedule pull replication\n"));
 
+       /*
+        * KCC or some administrative tool
+        * might have changed Topology graph
+        * i.e. repsFrom/repsTo
+        */
+       dreplsrv_refresh_partitions(service);
+
        mem_ctx = talloc_new(service);
        dreplsrv_schedule_pull_replication(service, mem_ctx);
        talloc_free(mem_ctx);
@@ -106,9 +113,6 @@ static void dreplsrv_periodic_run(struct dreplsrv_service *service)
        DEBUG(2,("dreplsrv_periodic_run(): run pending_ops memory=%u\n", 
                 (unsigned)talloc_total_blocks(service)));
 
-       /* the KCC might have changed repsFrom */
-       dreplsrv_refresh_partitions(service);
-
        dreplsrv_ridalloc_check_rid_pool(service);
 
        dreplsrv_run_pending_ops(service);