| Previous | Next |
| ERROR_INDOUBT_TRANSACTIONS_EXIST | ERROR_ROLLBACK_TIMER_EXPIRED |
ERROR_TM_VOLATILE
A volatile KTM transaction manager cannot perform the durable-log operation
ERROR_TM_VOLATILE belongs to the Windows Kernel Transaction Manager transaction-processing model. Microsoft defines a transaction manager as an instance of a log, but KTM also supports volatile transaction managers that do not maintain a durable recovery log. Operations that depend on persistent identity, recovery, or log state cannot be satisfied by a volatile TM. This status describes the transaction manager configuration, not the volatility of one application variable.
Determine how the TM was created and whether the application intended crash recovery. A test or fallback path may create a volatile TM and later call an API designed for a durable manager. For custom resource managers, document the durability requirement before any transactions are accepted. Switching to a durable TM changes recovery and storage behavior and should be an explicit design decision; it is not merely a retry flag.
What to inspect
- Record whether the TM was created as volatile or with a durable log path.
- Match recovery and log-management APIs to the TM durability model.
- Do not assume a volatile TM can be upgraded in place after transactions have begun.
References
- Microsoft: transaction managers and durable logs
- Microsoft: creating and recovering a KTM resource manager
- Microsoft: KTM resource-manager log streams and recovery
Looking for a different code? Search another status or error code.