
| Key: |
CIB-1008
|
| Type: |
Bug
|
| Status: |
Resolved
|
| Resolution: |
Fixed
|
| Priority: |
Major
|
| Assignee: |
jason
|
| Reporter: |
jason
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
Pulse
Created: 14/Mar/07 03:05 AM
Updated: 14/Mar/07 04:12 AM
|
|
| Component/s: |
None
|
| Affects Version/s: |
1.2.18
|
| Fix Version/s: |
1.2.19
|
|
|
When a change affects multiple builds, Pulse will detect and reuse an existing changelist. There is currently a race in this detection, which can lead to duplicate changelists. If a third build detects the same change, it will then get an exception:
SEVERE: query did not return a unique result: 2
org.springframework.dao.IncorrectResultSizeDataAccessException: query
did not return a unique result: 2
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:658)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:408)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:328)
at com.zutubi.pulse.model.persistence.hibernate.HibernateChangelistDao.findByRevision(HibernateChangelistDao.java:116)
at sun.reflect.GeneratedMethodAccessor830.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:203)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
at $Proxy7.findByRevision(Unknown Source)
at com.zutubi.pulse.model.DefaultBuildManager.getChangelistByRevision(DefaultBuildManager.java:332)
at sun.reflect.GeneratedMethodAccessor829.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
|
|
Description
|
When a change affects multiple builds, Pulse will detect and reuse an existing changelist. There is currently a race in this detection, which can lead to duplicate changelists. If a third build detects the same change, it will then get an exception:
SEVERE: query did not return a unique result: 2
org.springframework.dao.IncorrectResultSizeDataAccessException: query
did not return a unique result: 2
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:658)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:408)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:328)
at com.zutubi.pulse.model.persistence.hibernate.HibernateChangelistDao.findByRevision(HibernateChangelistDao.java:116)
at sun.reflect.GeneratedMethodAccessor830.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:203)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
at $Proxy7.findByRevision(Unknown Source)
at com.zutubi.pulse.model.DefaultBuildManager.getChangelistByRevision(DefaultBuildManager.java:332)
at sun.reflect.GeneratedMethodAccessor829.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source) |
Show » |
|