Jira カレンダーの読み取りがタイムアウトする
症状
Team Calendars is unable to create a JIRA calendar despite a functioning application link.
atlassian-confluence.log
に次のメッセージが表示される。
ERROR [http-8090-10] [extra.calendar3.calendarstore.JiraCalendarDataStore] doInTransaction Unable to get query options from linked JIRA application 6320c79b-dbbf-3058-803f-9babc606a878
– url: /confluence/rest/calendar-services/1.0/jira/6320c79b-dbbf-3058-803f-9babc606a878/query/options.json | userName: xxxx | referer:http://jira.yyyyy.com/confluence/calendar/mycalendar.action
com.atlassian.sal.api.net.ResponseException: java.net.SocketTimeoutException: Read timed out
This error is logged after selecting one of the Jira event types in the event creation popup.
診断
Visit the following URL and count the number of seconds it takes to process the request.
http://<jira_base_url>/rest/ical/1.0/ical/config/query/options
If the request takes longer than 10 seconds you are affected by this issue, and you can proceed with the workaround.
原因
The default timeout for a Team Calendars for Confluence request is 10 seconds. We are exceeding that request interval and seeing the "Read timed out" in the logs
回避策
Add the flag below to your system properties. This extend the timeout to 30 seconds.
-Dcom.atlassian.confluence.extra.calendar3.jira.timeout.socket=30000
Reference Configuring System Properties to see how to do this for your particular instance
注意
The cause of this issue is a scalability problem related to that particular endpoint. As the instance grows, it takes more time to respond which eventually exceeds the timeout. This is covered in the following bug report: