In-flight Transaction Recovery
EFA can recover in-flight (in-progress) transactions after a service restart or high-availability failover.
Overview
After a service restart or high-availability failover, EFA can recover in-flight transactions by rolling them back or rolling them forward.
In-flight transactions are those that are outstanding in the execution log after a
restart or a failover.
- When transactions are rolled back, the requested action is undone.
- When transactions are rolled forward, the requested action is completed.
By default, this feature enables the automatic recovery of Day-1 through Dan-N operations for
tenant-related configurations. You can use the efa system feature update
--inflight-transaction-auto-recovery disable command to disable the
feature. When the feature is enabled, the recovery strategy is as follows.
Operation type | Commands | Strategy |
---|---|---|
Create operations |
|
Roll back |
Delete operations |
|
Roll forward |
Update with add operations, such as port-add, ctag-range-add, and vrf-add |
|
Roll back |
Update with delete operations, such as port-delete, vrf-delete, and ctag-range-delete |
|
Roll forward |
Consider the following expected behaviors for this feature:
- During operations that take a long time, such as drift and reconcile and firmware downloads, tenant operations and recovery operations are blocked.
- When multiple transactions are pending in the execution log after a restart or a failover, recovery occurs in the order in which the operations appear in the execution log.
- If a service restart or high availability failover occurs during transaction recovery, then the status of those recovery operations is changed to a normal status. For example, if a restart occurs during the rollback of an endpoint group (EPG), the status changes to delete-pending. There is no automatic recovery of interrupted recovery transactions. You must manually verify and address the status of such operations.

Important
Day-0 and administrative operations (those for the Inventory Service and Fabric Service) are not recovered automatically. If these operations are interrupted by a service restart or a failover, you must manually redo the operations.
Examples
This example enables automatic in-flight transaction recovery.
efa system feature update --inflight-transaction-auto-recovery enable Feature Setting Updated Successful --- Time Elapsed: 634.557118ms ---
This example disables automatic in-flight transaction recovery.
efa system feature update --inflight-transaction-auto-recovery disable Feature Setting Updated Successful --- Time Elapsed: 634.557125ms ---