[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue 108 -- parallel compensation handler execution order
I believe that the compensation handlers
for parallel scopes should be processed in any order, by default. The implication
of parallel forward processing is that there is unlikely to be data sharing
(i.e. the services involved are unaware of each other); it is reasonable to
assume the same on the way out. If there is sharing/awareness, then it’s
a case of caveat emptor: don’t disorder the necessarily ordered, or
control the disorder very carefully at an application level. The spec as it stands seems to
unambiguously mandate “reverse completion order”, as a previous post
from Muruga Chinnananchi pointed out. I suggest that after the existing text in
13.3 ending: “If the compensation
handler for a scope is absent, the default compensation handler invokes the
compensation handlers for the immediately enclosed scopes in the reverse order
of the completion of those scopes.” be inserted the additional text: “When scopes are executed in
parallel, the default compensation handler of their immediately enclosing scope
shall invoke the compensation handler of each completed enclosed scope, in an implementation-defined
order” Alastair |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]