-
Bug
-
Resolution: Fixed
-
Low
-
5.9.10, 5.9.7
-
Severity 3 - Minor
-
Summary
Navigate through the a page history while having your browser's dev console/network tabs open and notice the unnecessary (or broken) rest call made to
http://localhost:8080/confluence/rest/watch-button/1.0/watchState/2147745911
Steps to Reproduce
- Watch a page
- Edit the page to have another version
- Go to Page History and click on a older version
Expected Results
- Nothing shows in the logs.
Actual Results
The below exception is thrown in the atlassian-confluence.log file:
2015-11-16 15:06:11,767 ERROR [http-nio-8080-exec-5] [common.error.jersey.ThrowableExceptionMapper] toResponse Uncaught exception thrown by REST service: null -- referer: http://localhost:8080/confluence/pages/viewpage.action?pageId=2147745911&navigatingVersions=true | url: /confluence/rest/watch-button/1.0/watchState/2147745911 | userName: admin java.lang.NullPointerException at com.atlassian.confluence.mail.notification.persistence.dao.hibernate.HibernateNotificationDao.findNotificationByUserAndSpaceAndType(HibernateNotificationDao.java:192) at com.atlassian.confluence.impl.mail.notification.persistence.DelegatingNotificationDao.findNotificationByUserAndSpaceAndType(DelegatingNotificationDao.java:122) at com.atlassian.confluence.mail.notification.DefaultNotificationManager.getNotificationByUserAndSpace(DefaultNotificationManager.java:71) at sun.reflect.GeneratedMethodAccessor1171.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.atlassian.confluence.util.profiling.ConfluenceMonitoringMethodInterceptor.invoke(ConfluenceMonitoringMethodInterceptor.java:40) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy98.getNotificationByUserAndSpace(Unknown Source) at sun.reflect.GeneratedMethodAccessor1171.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy432.getNotificationByUserAndSpace(Unknown Source) at sun.reflect.GeneratedMethodAccessor1171.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136) at com.sun.proxy.$Proxy432.getNotificationByUserAndSpace(Unknown Source) at com.atlassian.confluence.plugins.watch.WatchStateResource.buildWatchState(WatchStateResource.java:71) at com.atlassian.confluence.plugins.watch.WatchStateResource.lambda$getWatchState$3(WatchStateResource.java:59) at com.atlassian.confluence.plugins.watch.WatchStateResource$$Lambda$383/1116145577.apply(Unknown Source) at java.util.Optional.map(Optional.java:215) at com.atlassian.confluence.plugins.watch.WatchStateResource.getWatchState(WatchStateResource.java:59) at sun.reflect.GeneratedMethodAccessor1588.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:234) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:100) at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61) at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:38) at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:132) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker._dispatch(DispatchProviderHelper.java:230) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288) at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339) at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
[CONFSERVER-45592] rest/watch-button/1.0/watchState/ is Triggered for Versioned Content Leading to NPE stack traces
Workflow | Original: JAC Bug Workflow v3 [ 2885053 ] | New: CONFSERVER Bug Workflow v4 [ 2995057 ] |
Workflow | Original: JAC Bug Workflow v2 [ 2789898 ] | New: JAC Bug Workflow v3 [ 2885053 ] |
Status | Original: Resolved [ 5 ] | New: Closed [ 6 ] |
Workflow | Original: JAC Bug Workflow [ 2737895 ] | New: JAC Bug Workflow v2 [ 2789898 ] |
Symptom Severity | Original: Minor [ 14432 ] | New: Severity 3 - Minor [ 15832 ] |
Workflow | Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2377155 ] | New: JAC Bug Workflow [ 2737895 ] |
Workflow | Original: Confluence Workflow - Public Facing - Restricted v5 [ 2265428 ] | New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2377155 ] |
Workflow | Original: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2213803 ] | New: Confluence Workflow - Public Facing - Restricted v5 [ 2265428 ] |
Workflow | Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2162988 ] | New: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2213803 ] |
Workflow | Original: Confluence Workflow - Public Facing - Restricted v5 [ 1912603 ] | New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2162988 ] |
Workflow | Original: Confluence Workflow - Public Facing - Restricted v3 [ 1719716 ] | New: Confluence Workflow - Public Facing - Restricted v5 [ 1912603 ] |