def transaction_fail(self, name):
if not name:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>if self.transaction_count > <NUM_LIT:0>:<EOL><INDENT>logger.debug("<STR_LIT>".format(self.transaction_count, name))<EOL>if self.transaction_count == <NUM_LIT:1>:<EOL><INDENT>self._transaction_fail()<EOL><DEDENT>else:<EOL><INDENT>self._transaction_failing(name)<EOL><DEDENT>self.transaction_count -= <NUM_LIT:1><EOL><DEDENT>
rollback a transaction if currently in one

e -- Exception() -- if passed in, bubble up the exception by re-raising it