GenericEntityException while saving grid configuration

Problem

Grid configuration cannot be saved because of the GenericEntityException.



Cause

TGE stores the configuration in the "Default Value" field of the custom field. The storage and retrieval of that value is managed by Jira. 'Default Value' field is saved to the "XMLVALUE" column of the "GENERICCONFIGURATION" database table that is also created by JIRA. For all supported databases the length of this field is either quite big or even unlimited. But Oracle is an exception. For some reasons JIRA engineers decided to restrict the length of the "XMLVALUE" column in Oracle to 4000 characters. Since we are using default JIRA mechanism to store grid configuration TGE is also affected of this restriction.

Workaround

It is inconvenient and strange but we cannot do anything with it. We can't update the length of the column because it could break JIRA itself and cause losing of all already configured custom field default values. The only acceptable solution in this situation is to make your grid configuration shorter. There are several things that can be done:

  • shorten your queries. If possible, you can create database views on the server side and select data from pre-prepaired views. This allows to shorten the query length.

  • for some grid properties, you can omit them if they are the same as default ones. For example, if your grid column type is string - you do not actually have to specify the

    col.xyz.type=string

    property. The column type is string by default. Or you do not have to say

    gd.readonly=false

    because it is false by default (check gd.readonly).