|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IConflictResolver
An interface invoked during backward validation when a write-write conflict has been detected. The implementation must either resolve the write-write conflict by returning a new version in which the conflict is resolved or report an unresolvable conflict, in which case backward validation will force the transaction to abort.
for an excellent
discussion of data type specific state-based conflict resolution,
including examples for things such as bank accounts.Tx object itself?, The burden of deserialization is on the application and its
implementation of this interface at present. Will object
deserialization be buffered by a cache? Cache integrity is tricky here
since the objects being reconciled belong to different transactional
states. I can see a situation in which conflict resolution requires
multiple changes in a graph structure, and could require simultaneous
traversal of both a read-only view of the last committed state on the
journal and a read-write view of the transaction. Resolution would then
proceed by WRITE or DELETE operations on the transaction. The method
signature would be changed to:
This would have to allow READ,WRITE,and DELETE operations during PREPARE.Journal in the constructor. Such resolution would have to be
network aware (i.e., aware that there was a distributed database). | Method Summary | |
|---|---|
boolean |
resolveConflict(IIndex writeSet,
ITuple txTuple,
ITuple currentTuple)
Resolve a write-write conflict between a committed version on the journal and the current version within a transaction that is validating. |
| Method Detail |
|---|
boolean resolveConflict(IIndex writeSet,
ITuple txTuple,
ITuple currentTuple)
throws Exception
Resolve a write-write conflict between a committed version on the journal and the current version within a transaction that is validating.
writeSet - The view on which conflict resolver must write the resolved
index entry.txTuple - The tuple written by the transaction that is being validated.currentTuple - The current tuple committed in the global state with which the
write-write conflict exists.
Exception
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||