No Create Issue link displayed in Crucible review comments

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Low
    • 4.6.0, 4.5.4
    • Affects Version/s: None
    • Component/s: None
    • None
    • Severity 3 - Minor
    • 1

      Summary

      Even though Crucible and Jira are integrated with each other through application links and it says "Connected" in both sides and the user has permissions to do so, no Create Issue link is displayed in Crucible review comments

      Environment

      • Crucible 4.4.5 integrated with Jira 7.6.0
      • No proxy
      • No SSL
      • Using PostgreSQL 9.4 in Crucible with the bundled drivers

      Steps to Reproduce

      1. Make sure to be using PostgreSQL 9.4 with the bundled driver in Crucible
      2. Create an application link between Crucible and Jira
      3. Go through the checklist mentioned here to make sure that everything is configured correctly.
      4. Create a review, making sure it has a Linked Issue
      5. Add a General Comment
      6. Notice that the Create Issue link is not displayed.

      Actual Results

      The below exception is thrown in the atlassian-fisheye.log file:

      2018-05-24 11:00:11,262 ERROR [CommitNotifier1 ] com.atlassian.event.internal.AsynchronousAbleEventDispatcher AsynchronousAbleEventDispatcher$1$1-run - There was an exception thrown trying to dispatch event [CommitEventImpl{changeSetId='fbbd5ffa847cd3c0e90b585f4a91464dc9c5e73b', repositoryName='TEST'}] from the invoker [SingleParameterMethodListenerInvoker{method=public void com.atlassian.fecru.plugin.commithook.internal.DefaultCommitHookManager.handleCommit(com.atlassian.fisheye.event.CommitEvent), listener=com.atlassian.fecru.plugin.commithook.internal.DefaultCommitHookManager@18e78848}]
      java.lang.RuntimeException: bundle [com.atlassian.fecru.plugin.commithook.fecru-commithooks-plugin]. Listener: com.atlassian.fecru.plugin.commithook.internal.DefaultCommitHookManager event: com.atlassian.fisheye.event.DvcsCommitEventImpl
      	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:55) [atlassian-event-3.1.3.jar:?]
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:38) [atlassian-event-3.1.3.jar:?]
      	at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299) [guava-18.0.jar:?]
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:88) [atlassian-event-3.1.3.jar:?]
      	at com.atlassian.event.internal.LockFreeEventPublisher$Publisher.dispatch(LockFreeEventPublisher.java:222) [atlassian-event-3.1.3.jar:?]
      	at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:95) [atlassian-event-3.1.3.jar:?]
      	at com.atlassian.fisheye.event.FisheyeEventPublisher$EventPublication.publish(FisheyeEventPublisher.java:63) [fisheye.jar:?]
      	at com.atlassian.fisheye.event.FisheyeEventPublisher.publish(FisheyeEventPublisher.java:35) [fisheye.jar:?]
      	at com.cenqua.fisheye.rep.CommitEventGenerator$CommitEventNotifier$1.apply(CommitEventGenerator.java:296) [fisheye.jar:?]
      	at com.cenqua.fisheye.rep.CommitEventGenerator$CommitEventNotifier$1.apply(CommitEventGenerator.java:273) [fisheye.jar:?]
      	at com.cenqua.fisheye.rep.RepositoryHandle.withEngine(RepositoryHandle.java:509) [fisheye.jar:?]
      	at com.cenqua.fisheye.rep.CommitEventGenerator$CommitEventNotifier.run(CommitEventGenerator.java:273) [fisheye.jar:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
      Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.fecru.plugin.commithook.fecru-commithooks-plugin]
      	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95) [?:?]
      	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86) [?:?]
      	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38) [?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_151]
      	... 3 more
      Caused by: java.lang.RuntimeException: Could not get unique fields for table 'AO_8219D4_COMMIT_HOOK_CONFIG'
      	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getUniqueFields(DatabaseMetaDataReaderImpl.java:189) [?:?]
      	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getFields(DatabaseMetaDataReaderImpl.java:83) [?:?]
      	at net.java.ao.schema.ddl.SchemaReader.readFields(SchemaReader.java:126) [?:?]
      	at net.java.ao.schema.ddl.SchemaReader.readTable(SchemaReader.java:110) [?:?]
      	at net.java.ao.schema.ddl.SchemaReader.access$000(SchemaReader.java:62) [?:?]
      	at net.java.ao.schema.ddl.SchemaReader$1.apply(SchemaReader.java:99) [?:?]
      	at net.java.ao.schema.ddl.SchemaReader$1.apply(SchemaReader.java:97) [?:?]
      	at com.google.common.collect.Iterators$8.transform(Iterators.java:799) [guava-18.0.jar:?]
      	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) [guava-18.0.jar:?]
      	at com.google.common.collect.Iterators.addAll(Iterators.java:362) [guava-18.0.jar:?]
      	at com.google.common.collect.Lists.newArrayList(Lists.java:160) [guava-18.0.jar:?]
      	at com.google.common.collect.Lists.newArrayList(Lists.java:144) [guava-18.0.jar:?]
      	at net.java.ao.schema.ddl.SchemaReader.readSchema(SchemaReader.java:97) [?:?]
      	at net.java.ao.schema.ddl.SchemaReader.readSchema(SchemaReader.java:88) [?:?]
      	at net.java.ao.schema.ddl.SchemaReader.readSchema(SchemaReader.java:81) [?:?]
      	at net.java.ao.schema.SchemaGenerator.generateImpl(SchemaGenerator.java:107) [?:?]
      	at net.java.ao.schema.SchemaGenerator.migrate(SchemaGenerator.java:84) [?:?]
      	at net.java.ao.EntityManager.migrate(EntityManager.java:128) [?:?]
      	at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.migrate(EntityManagedActiveObjects.java:51) [?:?]
      	at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory$1.doInTransaction(AbstractActiveObjectsFactory.java:77) [?:?]
      	at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory$1.doInTransaction(AbstractActiveObjectsFactory.java:72) [?:?]
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21) [?:?]
      	at com.atlassian.sal.spring.component.SpringHostContextAccessor$1.doInTransaction(SpringHostContextAccessor.java:71) [sal-spring-3.1.0.jar:?]
      	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:68) [sal-spring-3.1.0.jar:?]
      	at com.atlassian.fisheye.plugin.FisheyeHostContextAccessor.doInTransaction(FisheyeHostContextAccessor.java:27) [fisheye.jar:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_151]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_151]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_151]
      	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_151]
      	at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) [atlassian-plugins-core-4.4.3.jar:?]
      	at com.sun.proxy.$Proxy224.doInTransaction(Unknown Source) [?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_151]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_151]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_151]
      	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_151]
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136) [?:?]
      	at com.sun.proxy.$Proxy224.doInTransaction(Unknown Source) [?:?]
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18) [?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_151]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_151]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_151]
      	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_151]
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) [?:?]
      	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) [?:?]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) [?:?]
      	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) [?:?]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) [?:?]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE]
      	at com.sun.proxy.$Proxy377.execute(Unknown Source) [?:?]
      	at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.create(AbstractActiveObjectsFactory.java:72) [?:?]
      	at com.atlassian.activeobjects.internal.DelegatingActiveObjectsFactory.create(DelegatingActiveObjectsFactory.java:32) [?:?]
      	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:91) [?:?]
      	... 6 more
      Caused by: org.postgresql.util.PSQLException: ERROR: column am.amcanorder does not exist
            Position: 407
      	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161) [postgresql-9.3-1101-jdbc4.jar:?]
      	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890) [postgresql-9.3-1101-jdbc4.jar:?]
      	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) [postgresql-9.3-1101-jdbc4.jar:?]
      	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559) [postgresql-9.3-1101-jdbc4.jar:?]
      	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403) [postgresql-9.3-1101-jdbc4.jar:?]
      	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:283) [postgresql-9.3-1101-jdbc4.jar:?]
      	at org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getIndexInfo(AbstractJdbc2DatabaseMetaData.java:4234) [postgresql-9.3-1101-jdbc4.jar:?]
      	at net.java.ao.DatabaseProvider.getIndexes(DatabaseProvider.java:506) [?:?]
      	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getUniqueFields(DatabaseMetaDataReaderImpl.java:178) [?:?]
      	... 68 more
      

      Root Cause

      This is caused by a PostgreSQL JDBC driver mismatch. Even though we support PostgreSQL 9.4 (CRUC-7127), the 9.4 JDBC driver is not bundled with Fisheye/Crucible.

      Expected Results

      The Create Issue review should be displayed.

      Workaround

      As mentioned at Migrating to PostgreSQL the following should be done:

      1. Stop Fisheye/Crucible
      2. Download the 9.4 JDBC driver from PostgreSQL website
      3. Move it to FISHEYE_INST/lib (creating the lib directory if needed)
      4. Delete the bundled drivers from FISHEYE_HOME/lib/dbdrivers/postgresql, or move them to somewhere outside of Fisheye/Crucible
      5. Start Fisheye/Crucible to have it pick up the new driver

            Assignee:
            Unassigned
            Reporter:
            Felipe Kraemer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: