Setting OS timezone as 'Europe/Kyiv' prevents Confluence to start

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 7.19.10, 7.19.12
    • None
    • 1
    • Severity 2 - Major

      Issue Summary

      When the OS Timezone is set to 'Europe/Kyiv', Confluence 7.19 does not start anymore as the timezone is not recognised.

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Set your OS timezone to 'Europe/Kyiv' (as root):
        timedatectl set-timezone Europe/Kyiv
        
      2. Install Confluence or restart your current Confluence installation.

      The issue is not reproducible in a fresh installation of Confluence 8.4.1 with JDK 17. Other Confluence 8.X versions have not been validated.

      Expected Results

      Confluence starts without issue. 

      Actual Results

      In the UI, the following screenshot will appear: 

      The below exceptions are thrown in the atlassian-confluence.log file:

      2023-08-01 21:20:41,212 ERROR [ThreadPoolAsyncTaskExecutor::Thread 3] [plugin.osgi.factory.OsgiPlugin] onPluginContainerFailed Unable to start the plugin container for plugin 'com.atlassian.plugins.authentication.atlassian-authentication-plugin'
      org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'perNodeStatisticsCollectionService': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: The datetime zone id 'Europe/Kyiv' is not recognised
              at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
      ...
      ...
      Caused by: java.lang.IllegalArgumentException: The datetime zone id 'Europe/Kyiv' is not recognised
              at org.joda.time.DateTimeZone.forTimeZone(DateTimeZone.java:398)
              at com.atlassian.scheduler.caesium.impl.RunTimeCalculator.nextRunTime(RunTimeCalculator.java:102)
      ...
      ..
      2023-08-01 21:20:46,200 ERROR [ThreadPoolAsyncTaskExecutor::Thread 14] [internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] fail Unable to create application context for [com.atlassian.pats.plugin], unsatisfied dependencies: none
      org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'expiredTokensPruningJob' defined in com.atlassian.pats.config.PersonalTokenConfig: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: The datetime zone id 'Europe/Kyiv' is not recognised
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
      ....
      ....
      Caused by: java.lang.IllegalArgumentException: The datetime zone id 'Europe/Kyiv' is not recognised
              at org.joda.time.DateTimeZone.forTimeZone(DateTimeZone.java:398)
              at com.atlassian.scheduler.caesium.impl.RunTimeCalculator.nextRunTime(RunTimeCalculator.java:102)
      ...
      ...

      Workaround

      Setting the timezone using the following JDK argument as a System Property in your setenv.sh file:

      CATALINA_OPTS="-Duser.timezone=Europe/Kiev ${CATALINA_OPTS}"
      

            Assignee:
            Unassigned
            Reporter:
            Iker Alonso (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: