diff options
author | Kamen Mazdrashki <kamenim@samba.org> | 2010-12-10 04:17:09 +0200 |
---|---|---|
committer | Kamen Mazdrashki <kamenim@samba.org> | 2010-12-15 00:51:19 +0100 |
commit | 0a9f780d26d8d193081915f4f3aff7b7f8335a28 (patch) | |
tree | 1cc66daa524fda034ea591efd6d4e7eb0027b4ce | |
parent | 2b74838c14f4ee77236634c7b10b8ac26eff40fa (diff) | |
download | samba-0a9f780d26d8d193081915f4f3aff7b7f8335a28.tar.gz samba-0a9f780d26d8d193081915f4f3aff7b7f8335a28.tar.bz2 samba-0a9f780d26d8d193081915f4f3aff7b7f8335a28.zip |
s4-drepl: We won't need a working schema for empty replicas sent.
Without this check, receiving empty replica leads to a situation
where we left with a working_schema attached to the ldb.
The problem here is that working_schema is not fully functional
schema cache and keeping it attached to the ldb may lead
to modules failing to accomplish their jobs
-rw-r--r-- | source4/dsdb/repl/drepl_out_helpers.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c index 6481028a42..6bb2516f2d 100644 --- a/source4/dsdb/repl/drepl_out_helpers.c +++ b/source4/dsdb/repl/drepl_out_helpers.c @@ -588,8 +588,11 @@ static void dreplsrv_op_pull_source_apply_changes_trigger(struct tevent_req *req return; } - /* Decide what working schema to use for object conversion */ - if (ldb_dn_compare(partition->dn, schema->base_dn) == 0) { + /* + * Decide what working schema to use for object conversion. + * We won't need a working schema for empty replicas sent. + */ + if (first_object && ldb_dn_compare(partition->dn, schema->base_dn) == 0) { /* create working schema to convert objects with */ status = dsdb_repl_make_working_schema(service->samdb, schema, |