Tivoli Header

Tivoli Storage Manager Using the Application Program Interface

The Transaction Model

All data sent to TSM storage during a backup or archive operation is done within a transaction. This provides a high level of data integrity for the TSM product, but it does impose some restrictions that an application client must take into consideration.

Start a transaction by a call to dsmBeginTxn or end a transaction by a call to dsmEndTxn. A single transaction is an atomic action. Data sent within the boundaries of a transaction is either committed to the system at the end of the transaction, or rolled back if the transaction ends prematurely.

Transactions can consist of either single object sends or multiple object sends. Send smaller objects in a multiple object transaction. This greatly improves total system performance, because transaction overhead is decreased. The application client determines whether single or multiple transactions are appropriate.

Send all objects within a multiple object transaction to the same copy destination. If you need to send an object to a different destination than the previous object, end the current transaction and start a new one. Within the new transaction, you can send the object to the new copy destination.

Note:
Starting with version 5.1.0, objects that do not contain any bit data (sizeEstimate=0) are not checked for copy destination consistency.

Tivoli Storage Manager limits the number of objects that can be sent in a multiple object transaction. To find this limit, call dsmQuerySessInfo and examine the maxObjPerTxn field. This field displays the value of the TXNGroupmax option that is set on your server.

The application client must keep track of the objects sent within a transaction to perform retry processing or error processing if the transaction ends prematurely. Either the server or the client can stop a transaction at any time. The application client must be prepared to handle sudden transaction ends that it did not start.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]