Smart commits failing after upgrading Fisheye
Symptoms
Upgrading Fisheye leads to the following errors in the logs with the smart commits failing to work as expected:
2013-09-26 09:19:44,602 ERROR [CommitNotifier1 ] com.atlassian.event.internal.LockFreeEventPublisher$Publisher LockFreeEventPublisher$Publisher-dispatch - There was an exception thrown trying to dispatch event 'com.atlassian.fisheye.event.CommitEventImpl[source=WEBDEV]' from the invoker 'com.atlassian.event.internal.SingleParameterMethodListenerInvoker@242183a4'.
java.lang.RuntimeException: There was a SQL exception thrown by the Active Objects library:
Database:
- name:PostgreSQL
- version:8.4.13
- minor version:4
- major version:8
Driver:
- name:PostgreSQL Native Driver
- version:PostgreSQL 8.4 JDBC3 (build 701)
org.postgresql.util.PSQLException: ERROR: relation "ao_8219d4_commit_hook_config" does not exist
Position: 24
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54)
Diagnosis
Get a listing of all tables within the Fisheye schema and check whether the table exists. You may find that the table ao_8219d4_commit_hook_config
exists though it's all in upper case, e.g. AO_8219D4_COMMIT_HOOK_CONFIG
.
Cause
For some reason the table was created in uppercase rather than the expected lowercase. This could be related to your Postgres database configuration.
Resolution
Use the Postgres alter table statement to change the table name from all uppercase to all lowercase:
alter table public."AO_8219D4_COMMIT_HOOK_CONFIG" rename to ao_8219d4_commit_hook_config;