Pages With Outgoing Links Display DataIntegrityViolationException Error
Summary
When accessing any page that contains the outgoing-links macro, the page will display the following error:
Cause org.springframework.dao.DataIntegrityViolationException: Hibernate operation: could not insert: com.atlassian.confluence.links.OutgoingLink#260702233; SQL []; Data truncation; nested exception is java.sql.DataTruncation: Data truncation at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:100) caused by: java.sql.DataTruncation: Data truncation at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:382) Stack Trace:[hide] org.springframework.dao.DataIntegrityViolationException: Hibernate operation: could not insert: com.atlassian.confluence.links.OutgoingLink#260702233; SQL []; Data truncation; nested exception is java.sql.DataTruncation: Data truncation at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:100) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) at org.springframework.orm.hibernate.HibernateTransactionManager.convertJdbcAccessException(HibernateTransactionManager.java:619) at org.springframework.orm.hibernate.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:605) at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:518)
Environment
All supported Confluence and Linking add-on versions
Diagnostics Steps
N/A
Cause
There is a user macro named outgoing-links and it is conflicting with the outgoing-links from the Linking app.
Workaround
N/A
Resolution
By default, users cannot create a user macro with the same name of an existing macro. However, older versions of Confluence do allow you to create a user macro and then install an add-on that contains the same name of the created user macro.
For example, a user macro named outgoing-links was created. Then, the Linking app was installed, which also has a macro named outgoing-links. Thus now there are two macros with the same name.
This is fixed by renaming the user macro with a unique name.