From 2a808655928d798e5d884ec5b70568a4ce07665e Mon Sep 17 00:00:00 2001 From: bdemsky Date: Thu, 22 Mar 2007 23:56:41 +0000 Subject: [PATCH] notes --- Robust/src/Runtime/DSTM/docs/commitnotes | 49 ++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Robust/src/Runtime/DSTM/docs/commitnotes diff --git a/Robust/src/Runtime/DSTM/docs/commitnotes b/Robust/src/Runtime/DSTM/docs/commitnotes new file mode 100644 index 00000000..3734d367 --- /dev/null +++ b/Robust/src/Runtime/DSTM/docs/commitnotes @@ -0,0 +1,49 @@ +Per object possibilities: + +1) Lock acquired, version id matches + +2) No lock, but version id matches + +3) Version id doesn't match + +4) Not here + +Response to machine running transaction + +A) DISAGREE (if we ever see at least 1 #3) + +B) AGREE (all #1) + +C) AGREE BUT MISSING OBJECTS (mixture of #1 and #4 - no #2 or #3) - +return list of oid's for missing objects (need to build list) + +D) SOFT ABORT (need #2, could have #1, #4, can't have #3) - make sure +there are no #3's + +Machine running transaction + +I) ABORT (Any A's) (rerun computation, clear out transaction records, etc...) + +II) COMMIT (All B's) + +III) ABORT BUT RETRY COMMIT (don't rerun computation) (Need D, can +have B's, can have C', no A's) + +IV) ABORT BUT RETRY COMMIT WITH RELOCATING (don't rerun computation, +but relookup all missing objects) (Need C, can have B's, no A's, no +D's) + + +Other machine involved in transaction + +I) COMMIT - commit object into store + +II) ABORT - unlock objects, free transaction resources + +III) Transaction machine unreachable... + + If any machine in transaction has seen COMMIT, all COMMIT +(Need to communicate this information in advanced of deciding +COMMIT/ABORT) + + If no one has seen COMMIT, all ABORT \ No newline at end of file -- 2.34.1