In rare cases when a transaction was broken and didn't rollback properly (network partitioning between shards, sudden coordinator crash etc), another transaction has to be able to take up on where the previous one left off.
Possible solutions:
Clean the previous transaction assets and start over.
Overwrite the previous transaction data.
Challenges:
How to distinguish between abandoned transaction and a long-running transaction in a distributed environment?
In rare cases when a transaction was broken and didn't rollback properly (network partitioning between shards, sudden coordinator crash etc), another transaction has to be able to take up on where the previous one left off.
Possible solutions:
Challenges: