Siebel Universal Queuing Administration Guide > Installing and Running Siebel Universal Queuing > Implementing Failure Recovery >
Siebel Universal Queuing Failure
The Siebel Universal Queuing routing engine is designed not to lose any work items that have been successfully introduced into the system, regardless of subsequent errors or system failures.
The dual-server configuration allows you to have two identical routing engine instances running on different machines: a primary machine controlling system state and a standby machine tracking system state without exerting any control. The standby instance recovers state information from the database when the primary instance fails.
The failover process is as follows:
- The primary and standby instances start, negotiate roles, and arrive at one of the following modes:
- The starting Siebel Universal Queuing instance assigns the primary role to the other Siebel Universal Queuing instance.
- If the assign request succeeds, the other instance returns an indication that it is up and active, and the requesting instance takes on the standby role.
- If the request fails, then this is the only routing engine instance, and it takes on the primary role.
- In the race condition, where both instance start and try to assign to each other at the same time, the instances detect this and fall back to static configuration, assigning roles through a random number exchange.
NOTE: A routing engine instance in standby mode must never accept a Siebel Communications Server connection.
- The standby instance monitors the primary instance to determine when to transition from standby to primary mode.
- The standby instance transitions to primary mode after detecting that the primary instance is no longer available. Before it accepts a Siebel Communications Server connection, it tries to restore all the logged-in agent information and work-item information from the DUStore table.
- The standby instance will then establish a connection to the Siebel Server using the connection information from the primary instance.
- The standby instance will also use the routing rules information from the primary instance to initialize itself.
- Once the connections are established to Siebel Server, the standby instance is ready to begin normal operation.
When the routing engine detects a failure on the socket carrying the statistics connection set, then the routing engine tries to reopen the connection. If it does not succeed after 10 attempts, the routing engine raises a critical alarm. Statistics are not buffered, so failure to reconnect may result in a loss of statistics data.