Description
At the moment read transactions that don't acquire topology lock will be forcibly rolled back on topology change as read tx can be in fly while topology being change.
This is done to prevent having active transaction with stale snapshots on new topology in cases of TX coordinator or Near node were lost.
It would be nice to remap it somehow until they locked a topology or at least throw some meaningful exception to user.
For example, it is possible to obtain a new "write" mvcc version from the new coordinator and use this version for all further writes while using "old" version for reads. In this case we need to change visibility rules a little: "old" version should see "own" updates made by "new" "write" version.
Attachments
Issue Links
- Blocked
-
IGNITE-10455 MVCC: Tx timeout can cause update counters inconsistency.
- Resolved
- Dependent
-
IGNITE-11173 MVCC TX: Acquire write version if coordinator changed in the middle of tx.
- Resolved
- is related to
-
IGNITE-6754 Support coordinator change while sql/tx is in progress
- Resolved
- relates to
-
IGNITE-7388 MVCC TX Support async tx rollback on timeout during version requesting.
- Resolved
- links to