Create Page/Space/Templates Loads Forever Due To WST Timezone Set In Server Installation Date
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
Users are unable to create new pages or spaces in Confluence.
診断
The following appears in the atlassian-confluence.log at the time when the user tries to create a page or space:
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:
--------------------------
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 and we see a null value ( sample screenshot attached ) , then we'll need to set a date
原因
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.
ソリューション
データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。
- Confluence を停止します。
Run the following query to see your installation date in database:
SELECT * FROM BANDANA WHERE BANDANAKEY LIKE 'confluence.server.installation.date';
If a result similar to
<date>YYYY-MM-DD HH:MM:SS.sss WST</date> is returned, c
hange 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';
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.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>');
Modify the date, time, and timezone accordingly
Confluence を起動します。