The following code example is a sample LDIFDE script that shows how to trigger a cache reload.
You can perform side-by-side versioning with schemas.
To update the Active Directory schema cache after a schema update, or if you want to use the schema update for non-schema operations immediately, add the schema Update Now attribute (it is an operational attribute) to the root DSE (blank DN) with value 1. An error return indicates the cache update was unsuccessful.
You do so by adding a new version of the schema to an assembly, upgrading the version of the schema, while leaving the existing schema (and its version) unchanged.
If you increment a schema version, you must update the reference to the schema for any pipeline instances and pipeline components that use it.
The automatic update occurs five minutes after the last change was applied; applying another change to the schema in the 5-minute window resets the timer for another 5 minutes.
This behavior keeps the cache consistent, but can be confusing, because changes do not appear in the schema until the cache is updated, even though they were applied on disk. If the call returns with no error, the cache is updated and all schema updates are ready to be used.
This means that if you create a new version of a schema, the new version completely replaces all previous versions of the schema. However, transactions in the Business Process Management solution are long-lived: an order may take up to a year to complete.
To allow for the possibility of using multiple versions of a schema being in use, each schema in the solution includes a version number in its namespace.
The schema is held in memory on directory servers (domain controllers) for performance reasons.
The in-memory version is updated automatically after the on-disk version has been updated.
This means that if you skip a release, you may still need to apply schema updates even if the release you're installing doesn't include its own changes.