TIBCO iProcess Engine Behavior
The following table shows how different TIBCO iProcess Engine components behave in the event of a database failure or failover.
|
TIBCO iProcess Engine Component |
Behavior When Failure or Failover Occurs |
||||||
|
On SQL and DB2: Each TIBCO iProcess Engine process clears any existing database connections (as they are used) and attempts to re-establish a new connection. If necessary, the process attempts to reconnect until the database becomes available again. On Oracle: The server processes use the Oracle Client to establish and maintain database connections. The Oracle Client therefore attempts to re-establish the database connection. If necessary, it attempts to reconnect until the database becomes available again. |
|||||||
|
Database transactions |
Any in-progress Write transaction is rolled back. When the database becomes available again:
This means that transactional integrity is maintained; no transaction or workflow operation is left in an indeterminate state. Operations either succeed and are committed or fail and are rolled back. |
||||||
|
Process Sentinels |
Any processing that requires a connection to the database becomes unresponsive until the database connection is restored. For example, if you use SWDIR\util\swsvrmgr to issue a Restart event for a process when the database has failed, the process is not restarted until the database connection is restored. Note: On the Oracle (UNIX/Linux) TIBCO iProcess Engine the event system used by the Process Sentinels is provided by the database. This means that the use of Oracle’s Transparent Application Failover (TAF) feature is required to provide failure or failover support. For more information, see Oracle (Windows, UNIX or Linux).
|
||||||
|
System messages |
Any TIBCO iProcess Engine process that attempts to contact the database will fail (until the connection is restored), causing it to write a database connection failure error to the SWDIR\logs\sw_error file. For example: 2005/04/25 15:41(BG:1:2496:pro::7.1:4352): 0-lcase_add() Unable to execute statement (Statement ID - 49) (S1002 - [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index) lcase_add() Unable to execute statement (37000 - Statement failed due to database FAILOVER )
|
||||||
|
Command line utilities |
Any command that requires a connection to the database hangs until the database connection is restored. For example, if you have a SWDIR\util\swadm session open when the database fails, and you then try to add a BG process, the command hangs until the database connection is restored. As soon as the database is available again, the command completes and the new BG process is added. |