не чистится таблица для dao
AoFileCoverage
В логах ошибки вида (Bitbucket Server, DB: Postgres):
c.a.s.i.e.AsyncBatchingInvokersTransformer There was an exception thrown trying to dispatch event 'com.atlassian.bitbucket.event.pull.PullRequestDeclinedEvent[source=com.atlassian.stash.internal.pull.DefaultPullRequestService@3e316076]' for the invoker 'SingleParameterMethodListenerInvoker{method=public void com.atlassian.stash.internal.notification.pullrequest.PullRequestNotificationProducer.onPullRequestClosed(com.atlassian.bitbucket.event.pull.PullRequestDeclinedEvent), listener=com.atlassian.stash.internal.notification.pullrequest.PullRequestNotificationProducer@10b5497c}' java.lang.RuntimeException: An error occurred while executing an external process: ERROR: cannot execute DELETE in a read-only transaction. Listener: com.atlassian.stash.internal.notification.pullrequest.PullRequestNotificationProducer event: com.atlassian.bitbucket.event.pull.PullRequestDeclinedEvent
Происходит это при отработке метода AoCodeCoverageDao.deleteCoverageForCommit. Вероятно, ошибка в реализации ActiveObjects.deleteWithSQL в случае использования Postgress
workaround: отказаться от использования метода ActiveObjects.deleteWithSQL, использовать вместо него delete, например (класс AoCodeCoverageDao):
public int deleteCoverageForCommit(String commitId) {
AoFileCoverage[] items = ao.find(AoFileCoverage.class,ID_QUERY,commitId);
ao.delete(items);
log.info("{} coverage entries were deleted for commit {}", items.length, commitId);
return items.length;
}
В таком варианте работает
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.