-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
7.7.3
-
7
-
Severity 3 - Minor
-
1
-
Problem
Could not get unique fields for table and java.sql.SQLException: Invalid argument(s) in call errors after installation. Some UI functions might also not be working properly, like the workbox notifications or other menus.
Environment
- Oracle Database
Steps to Reproduce
- Follow the documentation to configure Oracle
- While running it, Create a user with a dot on the name (example: conf.admin)
- Install Confluence and connect to this database
Expected Results
No errors are seen and the instance works as expected.
Actual Results
Some UI functionalities fail and this is seen repeateadly on the atlassian-confluence.log file:
/rest/mywork/latest/status/notification/count | traceId: e33f4ce1cc7be186 | userName: admin java.lang.RuntimeException: bundle [com.atlassian.mywork.confluence-host-plugin]. Listener: com.atlassian.mywork.host.service.ClientServiceImpl event: com.atlassian.mywork.host.event.BeforeCountNewNotificationsEvent at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:57) ... Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.mywork.confluence-host-plugin] at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95) Caused by: java.lang.RuntimeException: Could not get unique fields for table 'AO_9412A1_AONOTIFICATION' at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getUniqueFields(DatabaseMetaDataReaderImpl.java:191) at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getFields(DatabaseMetaDataReaderImpl.java:85) Caused by: java.sql.SQLException: Invalid argument(s) in call at oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(OracleDatabaseMetaData.java:3777)
Workaround
Since Oracle does not allow renaming the schema, you need to drop it and create a new one without dots. Following the initial example, conf_admin should work fine. On the Confluence side, restart the application setup so it can create the tables on the new schema:
- Stop Confluence
- Remove <Confluence-home>/confluence.cfg.xml
- Restart Confluence
- You should be prompted to complete the setup again
Notes
This has previously been reported as a suggestion, but opening it as a bug since Oracle itself allows schema names with dots based on the documentation: