Canister loading of event definitions

Each Discover Canister queries its Search Server for the event definitions. Search Server retrieves them through the Data Service from the database.

The Canister compares the checksum of the event definitions with the checksum of its last load. If a difference is detected, the event definitions changed. The old definitions are saved to a .bak file, and the new event definitions overwrite the old file.

The Canister then compiles the event definition XML for use. If the event definitions fail to compile, a validation error is generated and the previous set of validated event definitions is used. See Compile failure errors.

Upon successful compile, all Canister processes are signaled to reload the event definitions.