Upgrading fails with ERROR The size (16777215) given to the column 'event' exceeds the maximum allowed for any data type (8000) in Confluence
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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
Summary
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:
1
2
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:1
<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.
Solution
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:
1
<property name="hibernate.dialect">net.sf.hibernate.dialect.SQLServerDialect</property>
to the following:
1
<property name="hibernate.dialect">net.sf.hibernate.dialect.SQLServerIntlDialect</property>
Was this helpful?