Create Page/Space Loads Forever Due To WST Timezone Set In Server Installation Date

Still need help?

The Atlassian Community is here for you.

Ask the community


Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.

Problem

Users are unable to create new pages or spaces in Confluence.

Diagnosis

The following appears in the atlassian-confluence.log at the time when the user tries to create a page or space:

atlassian-confluence.log
2015-06-30 13:46:47,543 WARN [http-nio-8090-exec-6] [confluence.setup.bandana.ConfluenceDaoBandanaPersister] getObjectFromValue Configuration could not be loaded because class could not be found (context: _GLOBAL, key: confluence.server.installation.date).
com.thoughtworks.xstream.converters.ConversionException: Cannot parse date 2014-08-19 10:55:33.956 WST
---- Debugging information ----
path                : /date 
required-type       : java.util.Date 
line number         : 1 
class               : java.util.Date 
-------------------------------
 -- referer: http:/URL/dashboard.action | url: /rest/create-dialog/1.0/blueprints/web-items | userName: user
com.thoughtworks.xstream.converters.ConversionException: Cannot parse date 2014-08-19 10:55:33.956 WST
---- Debugging information ----
path                : /date 
required-type       : java.util.Date 
line number         : 1 
class               : java.util.Date 
-------------------------------
	at com.thoughtworks.xstream.converters.basic.DateConverter.fromString(DateConverter.java:48)
	at com.thoughtworks.xstream.converters.basic.AbstractBasicConverter.unmarshal(AbstractBasicConverter.java:33)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:38)
	at com.thoughtworks.xstream.core.ReferenceByXPathUnmarshaller.convertAnother(ReferenceByXPathUnmarshaller.java:39)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:99)
	at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:12)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:549)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:537)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:505)
	at com.atlassian.confluence.setup.bandana.XStreamBandanaSerializer.deserialize(XStreamBandanaSerializer.java:29)
	at com.atlassian.confluence.setup.bandana.ConfluenceDaoBandanaPersister.getObjectFromValue(ConfluenceDaoBandanaPersister.java:116)
	at com.atlassian.confluence.setup.bandana.ConfluenceDaoBandanaPersister.retrieve(ConfluenceDaoBandanaPersister.java:32)
	at sun.reflect.GeneratedMethodAccessor186.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
.................
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

Or, after a startup of Confluence, we see the following in the application log:

atlassian-confluence.log
--------------------------
Build Information
--------------------------
installationDate = null

To diagnose further, run the following query to check whether the installation date value is set in the database:


 SELECT * FROM BANDANA WHERE BANDANAKEY LIKE 'confluence.server.installation.date';


If a result like the following returns, then we'll need to correct the timezone reference:

<date>YYYY-MM-DD HH:MM:SS.sss WST</date>

Otherwise, if confluence.server.installation.date is not set, then we'll need to set a date.

Cause

If WST is used, it causes a parse error since it is no longer recognized as a valid timezone (See Timezone Data Versions in the JRE Software ) .  If the installation date field is not set, then it wasn't initialized correctly. 

Resolution

Always back up your data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.

  1. Stop Confluence.
  2. Run the following query to see your installation date in database:

     SELECT * FROM BANDANA WHERE BANDANAKEY LIKE 'confluence.server.installation.date';
  3. If a result similar to <date>YYYY-MM-DD HH:MM:SS.sss WST</date> is returned, change the timezone from WST to AWST with the following query:

    UPDATE BANDANA SET BANDANAVALUE = '<date>YYYY-MM-DD HH:MM:SS.sss AWST</date>' WHERE BANDANAKEY = 'confluence.server.installation.date';

    (info) Replace <date>YYYY-MM-DD HH:MM:SS.sss WST</date> with the installation date from the first query and only replace WST to AWST or whichever timezone is applicable.

  4. If no result is returned from the above query, then insert a value into the BANDANA table via the following query:

    INSERT INTO bandana(BANDANAID, BANDANACONTEXT, BANDANAKEY, BANDANAVALUE) VALUES (99999, '_GLOBAL', 'confluence.server.installation.date', '<date>2013-10-01 15:45:01.493 SGT</date>');

    (info)Modify the date, time, and timezone accordingly

  5. Start Confluence.


Last modified on May 4, 2021

Was this helpful?

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