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
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,