Users Can't Add or View Events and Team Calendars Throws 'datetime zone id is not recognised' Error

Still need help?

The Atlassian Community is here for you.

Ask the community


Platform Notice: Server, Data Center, and Cloud By Request - This article was written for the Atlassian server and data center platforms but may also be useful for Atlassian Cloud customers. If completing instructions in this article would help you, please contact Atlassian Support and mention it.

Summary

Users can't view events or add events on calendars that are using an unrecognized time zone. This issue can happen after updating Confluence and or Team Calendars and one or more of the calendars is using a time zone that is no longer recognized.

Diagnosis

Users will not be able to add or view events, and an error like this will be present in the application logs:

2021-06-26 00:45:00,889 ERROR [team-calendars-worker-1] [extra.calendar3.util.DefaultAsynchronousTaskExecutor] lambda$wrap$1 Exception happens on task execution: 
java.lang.IllegalArgumentException: The datetime zone id 'US/Pacific-New' is not recognised
	at org.joda.time.DateTimeZone.forID(DateTimeZone.java:247)

Cause


The configured timezone is no longer valid, although it may have been in previous versions.

Solution

You can update the timezone to one of the timezones in the list of supported timezones via the UI, or by updating the database. If there are only a few calendars with the issue we would recommend updating via the UI, however if there are a lot of calendars that are impacted you may prefer to update the database.

UI Update

You can just go to a page with one of the calendars on it in Confluence. If you look underneath the calendar there you should see ellipsis next to the calendar name which you can click and from there choose edit from the drop down menu. From there, just go to general tab and update the time zone. This should update the time zone in the UI and database.

Database Update

Please make sure you back up your database before running this, and test this in your staging environment before running it in production.

You can update the team time zone for the remaining calendars with the following SQL query:

UPDATE AO_950DC3_TC_SUBCALS
SET TIME_ZONE_ID = REPLACE(TIME_ZONE_ID, '<old time zone>', '<new time zone>')
WHERE TIME_ZONE_ID = '<old time zone>';

You will want to replace <old time zone> with the time zone from the error, and <new time zone> with the time zone you want to use.

Please note this SQL statement was tested with PostgreSQL, however you may need to update it if you are using a different database.
Last modified on Jul 19, 2021

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.