Okay, I fixed the problem with TxCapsule that was preventing
commits from going through. But I'm not totally sure what the intent was,
so I'm not sure I fixed it right. Either the != was supposed to be an ==,
or you meant to set the status field somewhere else.
Speaking of the status field, in the commitResource method, it
doesn't seem like the status field gets changed if there's an XAException,
so everything would still proceed A-OK if there was an exception, which I
think is bad. Also, if there's a heuristic commit or rollback exception,
the commitResource calls gotHeuristic which calls forget, but then the
original commit calls rollback if the commitResource didn't succeed, and
you can't call rollback after forget!
Overall, I think this TxCapsule work needs more thought and
testing before we release a binary - a simple test with Minerva and a DB
that supports transactions would have revealed the original bug I fixed,
which meant every commit failed!
Aaron