From 0a9f780d26d8d193081915f4f3aff7b7f8335a28 Mon Sep 17 00:00:00 2001 From: Kamen Mazdrashki Date: Fri, 10 Dec 2010 04:17:09 +0200 Subject: 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 --- source4/dsdb/repl/drepl_out_helpers.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source4') 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, -- cgit