Server Process Termination and Recovery with Optimization
As the Siebel Loyalty Engine processes the batch of 50 transactions, it stores the information about the pending updates in the database in special system records (and not in memory). One system record is created for each point block by each server process as it uses the original point block record.
After every 50 transactions, the used amount from the Siebel Loyalty record is added to the parent record used amount and is reset to zero for the system record. This process is called point block synchronization. Synchronization is also done in the following conditions:
If the Siebel Loyalty Engine crashes or the server is brought down abruptly, then no information is lost. The next time the Siebel Loyalty Engine starts, the synchronization is done again.
If the Siebel Loyalty Engine is terminating normally, then the engine does the synchronization before exiting. So, all system point block records have used an amount of 0. (Note that these records are not visible in the user interface).
If the Siebel Loyalty Engine is running in a continuous mode (LOYEngineNumberOfRuns equals -1) and there are no more transactions to process and the Siebel Loyalty Engine is going to sleep.