Is there any difference in terms of write/read conflict resolution between executing transaction with and without subspace, e.g:
db.Transaction( tn -> tn.set( [k, e, y] , value ) ) and:
db.Subspace( [k, e] ).Transaction( tn -> tn.set( [y] , value ) )
Will FDB create a conflict for [k, e, y] only in both cases? Or will Subspace transaction create key conflict for [k, e] - blocking a range instead of just the one key?
FoundationDB maintains strict serializability by detecting conflicts among concurrent transactions and allowing only a non-conflicting subset of them to succeed. Two concurrent transactions conflict if the first to commit writes a value that the second reads.
Does this mean that conflicts are complete-key only and never subspace?