---
name: "CosTransactions_RecoveryCoordinator"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:19.2.1+dfsg-2+deb9u3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/CosTransactions_RecoveryCoordinator"
---

# CosTransactions\_RecoveryCoordinator(3erl)

This module implements the OMG CosTransactions::RecoveryCoordinator interface.

## NAME

CosTransactions\_RecoveryCoordinator - This module implements the OMG CosTransactions::RecoveryCoordinator interface.

## DESCRIPTION

To get access to the record definitions for the structures use: \
 *-include\_lib("cosTransactions/include/CosTransactions.hrl").*

## EXPORTS

**replay\_completion(RecoveryCoordinator, Timeout, Resource) -\> Return**\

Types:

RecoveryCoordinator = #objref\
 Timeout = integer(), milliseconds \| 'infinity'\
 Resource = #objref\
 Return = Status \| {'EXCEPTION', E}\
 E = #'CosTransactions\_NotPrepared'{}\
 Status = atom()\

The *RecoveryCoordinator* object is returned by the operation *CosTransactions\_Coordinator:register\_resource/3*. The *replay\_completion/2* may only be used by the registered Resource and returns the current status of the transaction. The operation is used when recovering after a failure.

Possible Status replies:

- \*

  'StatusCommitted'

- \*

  'StatusCommitting'

- \*

  'StatusMarkedRollback'

- \*

  'StatusRollingBack'

- \*

  'StatusRolledBack'

- \*

  'StatusActive'

- \*

  'StatusPrepared'

- \*

  'StatusUnknown'

- \*

  'StatusNoTransaction'

- \*

  'StatusPreparing'

**Warning:**

*replay\_completion/3* is blocking and may cause dead-lock if a child calls this function at the same time as its parent invokes an operation on the child. Dead-lock will not occur if the timeout has any value except 'infinity'.

If the call is external incoming (intra-ORB) the timeout will not be activated. Hence, similar action must be taken if the Resource resides on another vendors ORB.
