Details
-
Bug
-
Resolution: Fixed
-
Low
-
4.0.0, 4.0.4
-
None
-
None
Description
Summary
Notification emails are not sent to repository watchers after upgrading to FishEye 4.+.
Steps to Reproduce
- N/A
Expected Results
Notification emails are successfully sent.
Actual Results
Notification emails are not sent on some repositories.
One of the below exceptions is thrown in the atlassian-fisheye.log file:
Exception #1
ERROR [FE-WatchChecker ] org.hibernate.engine.jdbc.spi.SqlExceptionHelper SqlExceptionHelper-logExceptions - Violation of UNIQUE KEY constraint 'uk_watch_key'. Cannot insert duplicate key in object 'dbo.cru_watch'. The duplicate key value is (041A4C7A80108E44483G285D062879DFFD68D98C6AE590E56B902F4D512040E7).
Or the following
Exception #2
SessionState-commitAllTx - Commit failed. Rolling back. org.hibernate.PropertyAccessException: Exception occurred inside getter of com.cenqua.fisheye.web.Watch.watchKey at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:167) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.tuple.entity.AbstractEntityTuplizer.getPropertyValues(AbstractEntityTuplizer.java:609) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.tuple.entity.PojoEntityTuplizer.getPropertyValues(PojoEntityTuplizer.java:392) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.persister.entity.AbstractEntityPersister.getPropertyValues(AbstractEntityPersister.java:4530) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:198) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:157) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:230) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:100) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:55) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1159) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at com.cenqua.crucible.hibernate.SessionState.commit(SessionState.java:165) [fisheye.jar:?] at com.cenqua.crucible.hibernate.SessionState.commitAllTx(SessionState.java:118) [fisheye.jar:?] at com.cenqua.crucible.hibernate.SessionState.commitTx(SessionState.java:109) [fisheye.jar:?] at com.cenqua.crucible.hibernate.HibernateUtil.commitTransaction(HibernateUtil.java:382) [fisheye.jar:?] at com.atlassian.fecru.tx.TxHelperStylePlatformTransactionManager.commit(TxHelperStylePlatformTransactionManager.java:45) [fisheye.jar:?] at com.atlassian.fisheye.spi.impl.DefaultTxTemplate.execute(DefaultTxTemplate.java:88) [fisheye.jar:?] at com.cenqua.fisheye.web.DefaultWatchManager.updateWatch(DefaultWatchManager.java:438) [fisheye.jar:?] at com.cenqua.fisheye.web.DefaultWatchManager.checkWatch(DefaultWatchManager.java:577) [fisheye.jar:?] at com.cenqua.fisheye.web.DefaultWatchManager.access$300(DefaultWatchManager.java:74) [fisheye.jar:?] at com.cenqua.fisheye.web.DefaultWatchManager$WatchChecker.checkWatchesForRep(DefaultWatchManager.java:294) [fisheye.jar:?] at com.cenqua.fisheye.web.DefaultWatchManager$WatchChecker.checkWatchesForRep(DefaultWatchManager.java:232) [fisheye.jar:?] at com.cenqua.fisheye.web.DefaultWatchManager$WatchChecker.run(DefaultWatchManager.java:202) [fisheye.jar:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92] Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor1833.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_92] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_92] at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:164) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] ... 25 more Caused by: org.hibernate.TransactionException: nested transactions not supported at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:152) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1351) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at com.cenqua.crucible.hibernate.SessionState.beginTx(SessionState.java:60) [fisheye.jar:?] at com.cenqua.crucible.hibernate.HibernateUtil.beginTransaction(HibernateUtil.java:372) [fisheye.jar:?] at com.atlassian.fecru.tx.TxHelperStylePlatformTransactionManager.getTransaction(TxHelperStylePlatformTransactionManager.java:34) [fisheye.jar:?] at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:420) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:257) [spring-tx-4.0.9.RELEASE.jar:4.0.9.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) [spring-tx-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.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) [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:207) [spring-aop-4.0.9.RELEASE.jar:4.0.9.RELEASE] at com.sun.proxy.$Proxy52.findByName(Unknown Source) [?:?] at com.atlassian.crowd.embedded.core.CrowdEmbeddedApplicationFactory.getApplication(CrowdEmbeddedApplicationFactory.java:25) [embedded-crowd-core-2.8.5-m1.jar:?] at com.atlassian.crowd.embedded.core.CrowdServiceImpl.getApplication(CrowdServiceImpl.java:891) [embedded-crowd-core-2.8.5-m1.jar:?] at com.atlassian.crowd.embedded.core.CrowdServiceImpl.getUser(CrowdServiceImpl.java:87) [embedded-crowd-core-2.8.5-m1.jar:?] at com.cenqua.crucible.hibernate.CrowdAwareUserLoadListener.getCrowdUser(CrowdAwareUserLoadListener.java:64) [fisheye.jar:?] at com.cenqua.crucible.hibernate.CrowdAwareUserLoadListener.setCrowdUserIfNecessary(CrowdAwareUserLoadListener.java:132) [fisheye.jar:?] at com.cenqua.crucible.hibernate.CrowdAwareUserLoadListener.onPostLoad(CrowdAwareUserLoadListener.java:86) [fisheye.jar:?] at org.hibernate.event.internal.DefaultLoadEventListener.convertCacheEntryToEntity(DefaultLoadEventListener.java:703) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:572) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:423) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:208) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at com.cenqua.crucible.hibernate.CrowdAwareUserLoadListener.load(CrowdAwareUserLoadListener.java:109) [fisheye.jar:?] at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:147) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1017) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:932) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:174) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:286) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185) [hibernate-core-4.2.13.Final.jar:4.2.13.Final] at com.atlassian.fecru.user.FecruUser_$$_jvst3e6_5f.getUsername(FecruUser_$$_jvst3e6_5f.java) [fisheye.jar:?] at com.cenqua.fisheye.web.Watch.username(Watch.java:133) [fisheye.jar:?] at com.cenqua.fisheye.web.Watch.getUsername(Watch.java:129) [fisheye.jar:?] at com.cenqua.fisheye.web.Watch.getWatchKey(Watch.java:159) [fisheye.jar:?]