I'm implementing durable transaction participation as part of Seven and due to my reading of the spec I have a question related to TX.2.3 "Joining a Transaction". It states in the 4th paragraph "When a manager receives a join request, it checks to see if the participant has already joined the transaction. If it has, and the crash count is the same as the one specified in the original join, the join is accepted but is otherwise ignored. If the crash count is different, the manager throws CrashCountException and forces the transaction to abort."
However when I look into the code of Mahalo I can see when rejoining a transaction with a different crash count that CrashCountException is thrown, but I can't see where Mahalo forces the transaction to abort, which based on my interpretation of the spec seems to be required. Is my interpretation wrong or is there a bug in Mahalo (or the code I seem to miss). Also I assume that when a transaction manager service drives the transaction to abort a transaction manager should skip the transaction participant for which the rejoin failed due to the crash count exception? -- Mark
