Invocation of method 'getSpaceNotificationsForUser' error when clicking on 'Watch'
症状
When a particular user clicks 'Watch' in any page it fails with the following stack trace:
org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getSpaceNotificationsForUser' in class com.atlassian.confluence.user.actions.EditNotificationsAction threw exception org.springframework.orm.hibernate.HibernateObjectRetrievalFailureException: No row with the given identifier exists: 4456508, of class: com.atlassian.confluence.pages.AbstractPage; nested exception is net.sf.hibernate.UnresolvableObjectException: No row with the given identifier exists: 4456508, of class: com.atlassian.confluence.pages.AbstractPage at /users/editnotifications.vm[line 32, column 68] at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:223)
診断
Verify that the user is watching a page with the ID mentioned in the stack trace:
SELECT * FROM NOTIFICATIONS WHERE pageid = 4456508;
This should return a row. Now, check if there is a page with the ID mentioned in the stack trace.
SELECT * FROM CONTENT where contentid = 4456508;
If it returns no row, see below.
原因
When a user tries to watch a page, Confluence verifies the pages that the user has already watched. In this case, the user is watching an invalid page with ID 4456508, hence, it returns the stack trace.
ソリューション
[Unable to render {include} The included page could not be found. ({include} をレンダリングできません。ページが見つかりませんでした)] を選択し、
Remove the invalid watch from the database:
DELETE FROM NOTIFICATIONS WHERE pageid = 4456508;
Last modified on Mar 30, 2016
Powered by Confluence and Scroll Viewport.