Bug 12114 - In memory schema updated on non schema master
Summary: In memory schema updated on non schema master
Status: RESOLVED FIXED
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: AD: LDB/DSDB/SAMDB (show other bugs)
Version: 4.5.0rc1
Hardware: All All
: P5 regression (vote)
Target Milestone: 4.5
Assignee: Stefan Metzmacher
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on: 12115
Blocks:
  Show dependency treegraph
 
Reported: 2016-08-05 08:04 UTC by Stefan Metzmacher
Modified: 2016-08-17 14:37 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Metzmacher 2016-08-05 08:04:58 UTC
When a client tries to do a schema modification on a non schema master dc,
we get a inconsistent in memory schemaInfo.

In the module stack we have "samldb" before "schema_data".
The "samldb" tries to update the "schemaInfo" attribute
on schema changes, which replaces the schema_info on the global schema
before the operation is completed. Later the "schema_data" rejects
the change with UNWILLING_TO_PERFORM. This results in an
inconsistency between schema->schema_info and the stored (and also loaded)
schema.

As this structure is likely to be global and in process model
single shared with the drsuapi service.
Everybody replicating from us will detect a SCHEMA_MISMATCH
and replicates the schema from us, but will never be able to
get the revision we're advertising in drsuapi_DsReplicaOIDMapping_Ctr.

This may result in an endless loop on the pulling side.
Comment 1 Stefan Metzmacher 2016-08-17 14:37:19 UTC
Pushed to v4-5-test