Within a single instance of the server, Fail Safe level‑1 processing ensures data integrity for a TIBCO Object Service Broker transaction that updates both TDS data and one Adabas database.
The base Adabas architecture does not ensure integrity of data across Adabas databases, therefore placement of a TIBCO Object Service Broker Adabas transaction database should be made with care. Fail Safe level‑1 data integrity can only be ensured to the Adabas database containing the transaction database.
At the successful end of a TIBCO Object Service Broker transaction, the Data Object Broker requests that outstanding updates be committed. During this process, the transaction database is updated.
The update to the transaction database and the Adabas data updates are committed together by one Adabas
CL (Close) command. When the server responds with a successful completion to the Data Object Broker, the TIBCO Object Service Broker data is committed.
If the Data Object Broker does not receive a response from the server, the TIBCO Object Service Broker transaction is placed in-doubt. All outstanding TIBCO Object Service Broker locks are held until the in-doubt condition is resolved.
When a connection is re-established with the same instance of the server, the Data Object Broker asks the server to determine if the Adabas data for the in-doubt transaction was committed. The server reads the transaction database to determine the state of the Adabas data. If the Adabas data was updated, the Data Object Broker rolls forward the in-doubt transaction by committing TIBCO Object Service Broker data and releasing locks. If the Adabas data was not updated, the Data Object Broker rolls back the in-doubt transaction by discarding the intent list and releasing locks.
The transaction database is an Adabas file on an Adabas database. It is used by the server to ensure data integrity during Fail Safe level‑1 processing. You need to define an ADA table that points to this transaction database. A sample ADA table definition is supplied with the name @ADAFSTRXDB. Modify this definition to choose the
Name,
DBID, and
FILE No for your transaction database. Any valid name can be used.
The transaction database can be managed in TIBCO Object Service Broker like any other ADA table. For example, you can write a rule to clean up the Fail Safe database on shutting down the server.
ADACMP FNDEF='01,AA,008,A,DE' ADACMP FNDEF='01,AB,008,A,DE'
ADACMP FNDEF='01,AC,004,B'
ADACMP FNDEF='01,AD,004,B'
ADACMP FNDEF='01,AE,004,B'
ADACMP FNDEF='01,AF,025,A'