Unable to View Page Due to 'Invalid page title'
Symptoms
A page cannot be displayed. The following appears both on the page and in the atlassian-confluence.log
:
org.springframework.orm.hibernate.HibernateSystemException: Exception occurred inside setter of com.atlassian.confluence.pages.AbstractPage.title; nested exception is net.sf.hibernate.PropertyAccessException: Exception occurred inside setter of com.atlassian.confluence.pages.AbstractPage.title Caused by: net.sf.hibernate.PropertyAccessException: Exception occurred inside setter of com.atlassian.confluence.pages.AbstractPage.title at net.sf.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:49) at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:229)
Diagnosis
Look in the atlassian-confluence.log file. You'll find the name of the page contains an illegal character, like this snippet:
Caused by: com.atlassian.core.exception.InfrastructureException: Invalid page title: home/slash
Note that page titles can not contain (':', '@', '/', '\', '|', '^', '#', ';', '[', ']', '{', '}', '<', '>') or start with ('$', '..', '~')
Cause
An illegal page name was created. Currently the mechanism for creating an illegal page name is unknown.
Resolution
Run the following SQL:
SELECT CONTENTID FROM content WHERE TITLE = '<page title>'; UPDATE content SET TITLE = '<new title>' WHERE CONTENTID = '<id from above>';
Use the page ID from the first query in the second update statement.
- Rebuild the index