]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:dsdb/replicated_objects: don't skip notifications on resolved conflicts
authorStefan Metzmacher <metze@samba.org>
Wed, 13 Jul 2016 06:17:15 +0000 (08:17 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Sat, 23 Jul 2016 01:18:58 +0000 (03:18 +0200)
We should propagate resolved conflicts immediately.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sat Jul 23 03:18:58 CEST 2016 on sn-devel-144

source4/dsdb/repl/replicated_objects.c

index 0c0aa8c2f003797a88fa0ca838f681392c21de7f..fb8083d4bb4e80bfeded3a694a4902c7fbcd62d0 100644 (file)
@@ -866,10 +866,22 @@ WERROR dsdb_replicated_objects_commit(struct ldb_context *ldb,
                return WERR_FOOBAR;
        }
 
-       /* if this replication partner didn't need to be notified
-          before this transaction then it still doesn't need to be
-          notified, as the changes came from this server */
-       if (seq_num2 > seq_num1 && seq_num1 <= *notify_uSN) {
+       if (seq_num1 > *notify_uSN) {
+               /*
+                * A notify was already required before
+                * the current transaction.
+                */
+       } else if (objects->originating_updates) {
+               /*
+                * Applying the replicated changes
+                * required originating updates,
+                * so a notify is required.
+                */
+       } else {
+               /*
+                * There's no need to notify the
+                * server about the change we just from it.
+                */
                *notify_uSN = seq_num2;
        }