Description
In ServiceSemaphore.dbWrite(...) the transaction is suspended without checking if there is a transaction in place. This results in logging a warning each time the TransactionUtil.suspend() method is invoked without a current transaction in place. The given patch cuts this unnecessary logging by checking if there is an transaction in place to suspend. If a transaction exists - suspend it.