Automatic Retry (Magic xpa 4.x)
In some errors, such as Locking (Locked Row, Unable to lock table) and Max connections, recover means that Magic xpa retries the operation automatically, without input from the end user. Only a few errors can be automatically retried by Magic xpa as displayed in the table below. Most errors require user intervention as explained in the User Retry section.
|  |  | 
| Unable to lock tableLocked Row
 Max connections
 | Magic xpa automatically retries the operation. Magic xpa does not rollback the transaction, regardless of whether it is physical or deferred, and does not rollback the data view. The cursor parks on the same record and retries locking or connecting until the timeout value expires. | 
| Duplicate IndexConstraint failure
 Trigger failure
 | Deferred transactions only.Magic xpa automatically retries the entire physical transaction in the flush phase, which is when Magic xpa writes the data to the database.
 | 
| Table open failedTable Create err
 Table delete failed
 Table copy failed
 Commit transaction failed
 Open transaction failed
 Internal transaction err
 Deadlock
 Connect failed
 Fatal err
 Insert/Update/Delete failure
 SQL execution err
 Invalid SQL command
 Invalid open Query Exp
 Invalid table name
 Table does not exist
 Cannot modify R/O table
 Record has been updated
 Record has been updated – restart
 Record lost
 | Not applicable. Magic xpa never uses the Automatic Retry option for these errors. | 
Note: 
- 
In the Deferred Transaction mode, Automatic Retry refers to all errors that occur in the flush phase of the transaction, for the commands accumulated during the deferred transaction. The physical transaction is rolled back and then restarted, including all the operations that were already implemented. 
- 
In the case of another user who has changed the data, we will not see the change when we park on the row (if the data was in the cache), but if we try to modify the data, the current values data will be read from the disk, and the Record has been changed – restart message appears. When using the Position and Data cache strategy, in addition to the position, Magic xpa will store the actual data of the row. If you re-fetch that row you will get the old values stored in the cache. Note that any modifications done to this data from another task will not be seen in the current task. Trying to update a record which was modified in another task will return the message mentioned above. 
Retry Operation Time Interval