Batch notifications are not working when using Oracle database

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

This article only applies to Atlassian's server products. Learn more about the differences between cloud and server.

問題

After upgrading or installing Jira 8.++, and turning on Batch Notifications, notifications are never sent at all. Test notifications still work.

The following exception appears in atlassian-jira.log thrown by the JIRA-INFORM-Thread which is used by the Batch Notifications plugin.

2020-01-09 09:54:45,901+0100 JIRA-INFORM-Thread-1 WARN anonymous 455x660x1 1iwbmex x.x.x.x /secure/QuickCreateIssue.jspa [o.a.commons.dbcp2.BasicDataSource] An internal object pool swallowed an Exception.
java.sql.SQLException: Protocol violation: [ 0, ]
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:669)
	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
	at oracle.jdbc.driver.T4C7Ocommoncall.doOROLLBACK(T4C7Ocommoncall.java:66)
	at oracle.jdbc.driver.T4CConnection.doRollback(T4CConnection.java:906)
	at oracle.jdbc.driver.PhysicalConnection.rollback(

You may also have the following in atlassian-jira-outgoing-mail.log:

2021-11-02 16:18:40,307-0400 ERROR [] JIRA-INFORM-Thread-0 anonymous 455x660x1 1iwbmex x.x.x.x /secure/QuickCreateIssue.jspa [c.a.m.o.c.a.j.p.inform.performance.MeasurementWorkerFactory] Exception occured
com.querydsl.core.QueryException: Caught SQLException for insert into "AO_733371_EVENT_PARAMETER" ("NAME", "VALUE", "EVENT_ID") values (?, ?, ?)
[...]
Caused by: java.sql.SQLException: operation not allowed: DML Returning cannot be batched

診断

Using Jira 8.+ and Oracle database.

Checking from the database, the batch notification event table AO_733371_EVENT does not return any row. Which means the batch notification events are never generated.

SQL> select * from AO_733371_EVENT;

no rows selected

原因

SQLException: Protocol violation itself is normally caused by the Oracle driver. Therefore, first please ensure that you've used the correct Database JDBC Driver in your Jira instance.
As stated on our Supported platforms we require Oracle JDBC 19.3 driver to be used with Oracle database.

ソリューション

  1. Download the correct Oracle driver JDBC 19.3 (ojdbc8.jar)
  2. Update your JDBC driver by copying the driver JAR file to the $JIRA_INSTALL/lib folder in your Jira installation. Make sure the old driver is moved out of this folder and also that there's no other ojdbc8.jar file under $JIRA_INSTALL/atlassian-jira/WEB-INF/lib.
  3. Jira を再起動します。
最終更新日 2021 年 11 月 4 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.