Unable to Access Confluence Questions or Team Calendars
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. 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.
*Except Fisheye and Crucible
Problem
When trying to access Confluence Questions or Team Calendars, the following error appears:
The following appears in the atlassian-confluence.log
:
ERROR [AtlassianEvent::CustomizableThreadFactory-1] [atlassian.event.internal.AsynchronousAbleEventDispatcher] run There was an exception thrown trying to dispatch event 'com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController$AsyncEvent@2bde5b5d' from the invoker 'SingleParameterMethodListenerInvoker{method=public void com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController.onActiveObjectsModuleEnabled(com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController$AsyncEvent), listener=com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController@1009551e}'.
java.lang.RuntimeException: Active Objects failed to initalize for bundle com.atlassian.confluence.plugins.confluence-questions
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:66)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: Active Objects failed to initalize for bundle com.atlassian.confluence.plugins.confluence-questions
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory$5.apply(ActiveObjectsServiceFactory.java:207)
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory$5.apply(ActiveObjectsServiceFactory.java:187)
at com.atlassian.util.concurrent.Promises$Of$2.apply(Promises.java:259)
at com.atlassian.util.concurrent.Promises$Of$2.apply(Promises.java:256)
at com.atlassian.util.concurrent.Promises$2.onFailure(Promises.java:162)
at com.google.common.util.concurrent.Futures$7.run(Futures.java:1074)
at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:161)
at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:146)
at com.google.common.util.concurrent.JdkFutureAdapters$ListenableFutureAdapter$1.run(JdkFutureAdapters.java:151)
... 3 more
Caused by: java.lang.RuntimeException: Unknown dialect.
Cause
This error appears when the database is using a non-standard dialect and Confluence Questions or Team Calendars are looking for a specific one.
The dialects used by Confluence as of 5.6.1 are:
"net.sf.hibernate.dialect.PostgreSQLDialect",
"com.atlassian.hibernate.dialect.MySQLDialect",
"net.sf.hibernate.dialect.SQLServerIntlDialect",
"net.sf.hibernate.dialect.OracleIntlDialect"
Resolution
- Shut down Confluence
- Navigate to the home directory
- (The <confluence_home> directory is the path defined in the following file: <confluence_install>/confluence/WEB-INF/classes/confluence-init.properties)
- Modify the confluence.cfg.xml file
There is a line that begins
<property name="hibernate.dialect">
We will need to update the property associated with it.
The value used depends on the database in use. Please refer to the listed dialects in the 'Cause' section. In the following example, we'll use MySQL.
If you're using an older version of Confluence, the dialect may be different. If in doubt, please contact Atlassian Support.
Please confirm that the property reads
net.sf.hibernate.dialect.MySQLDialect
If so, please change the property to
com.atlassian.hibernate.dialect.MySQLDialect
The entire line should now look like this:
<property name="hibernate.dialect">com.atlassian.hibernate.dialect.MySQLDialect</property>
Save the file
Start Confluence and check if questions is working correctly