From: Stefan Metzmacher Date: Wed, 13 Jul 2016 06:17:15 +0000 (+0200) Subject: s4:dsdb/replicated_objects: don't skip notifications on resolved conflicts X-Git-Tag: tdb-1.3.10~155 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=32a254d1dd7a6b0b873bec3d002da08f94187e48;p=thirdparty%2Fsamba.git s4:dsdb/replicated_objects: don't skip notifications on resolved conflicts We should propagate resolved conflicts immediately. Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Sat Jul 23 03:18:58 CEST 2016 on sn-devel-144 --- diff --git a/source4/dsdb/repl/replicated_objects.c b/source4/dsdb/repl/replicated_objects.c index 0c0aa8c2f00..fb8083d4bb4 100644 --- a/source4/dsdb/repl/replicated_objects.c +++ b/source4/dsdb/repl/replicated_objects.c @@ -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; }