Upgrading fails with ERROR The size (16777215) given to the column 'event' exceeds the maximum allowed for any data type (8000) in Confluence

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

Customers on Microsoft SQL Server can run into an error where the 'EVENTS' table fails to be created due to the size given to the 'EVENT' column, when upgrading to Confluence 6.0 or later.

The following appears in the confluence.log file:

ERROR [localhost-startStop-1] [hibernate.tool.hbm2ddl.SchemaUpdate] execute Unsuccessful: create table [EVENTS] ([rev] varchar(255) not null, [history] varchar(255) not null, [partition] int not null, [sequence] int not null, [event] varbinary(16777215) null, primary key ([rev], [history]))
java.sql.SQLException: The size (16777215) given to the column 'event' exceeds the maximum allowed for any data type (8000).

Diagnosis

Environment

  • Database: Microsoft SQL Server (2012 and 2014)

Diagnostic Steps

  • Prior to upgrading, the <confluence-home>/confluence.cfg.xml file contains the following value for the "hibernate.dialect" property: 

    <property name="hibernate.dialect">net.sf.hibernate.dialect.SQLServerDialect</property>

Cause

The "hibernate.dialect" property is incorrectly retained after upgrading.

The net.sf.hibernate.dialect.SQLServerDialect dialect was used in a very old version of Confluence, and has since been deprecated. Instances that have been upgraded from Confluence 2.4 or earlier have retained this deprecated dialect due to a bug in the upgrade process, which has caused a problem for customers upgrading to Confluence 6.0 or later.  

Workaround

To manually work around this issue, before upgrading to Confluence 6.0 or later, edit <confluence-home>/confluence.cfg.xml, and change this property:

<property name="hibernate.dialect">net.sf.hibernate.dialect.SQLServerDialect</property>

to the following:

<property name="hibernate.dialect">net.sf.hibernate.dialect.SQLServerIntlDialect</property>
Last modified on Apr 19, 2017

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.