Object Size Limits
Quota limits can be defined for object size limits on Reltio Connected Data Platform.
These limits help you avoid any performance degradation and platform instability that are related to large object sizes. Exceeding these limits may lead to performance issues and platform instability.
GET /tenants/tenantID
…
"objectSizeLimits": {
"maxAttributeValues": 200,
"maxAttributeValueSize": 10240,
"maxCrosswalks": 200,
"maxSubNestedAttributesPerEntity": 20000
"maxSubReferenceAttributesPerEntity": 20000
"maxReferenceCrosswalksPerEntity": 2000
}
…
POST /tenants/tenantID
You must update the request body with the new limits. If a limit is absent, its default value is used.
Property Name | Default Value | Description | Error code | Error Message |
---|---|---|---|---|
maxAttributeValues |
200 | Maximum number of values per attribute. | 131 | OBJECT_TOO_LARGE_TO_SAVE_IT - Object is too
large {object_id} . Attribute values limit exceeded
for the {attribute_path} attribute. Limit:
{limit_value} , current
value:{current_value} |
921 | ENTRY_HAS_LARGE_OBJECT - [Main Entity|Relation]
with crosswalks: [{crosswalk_values}] exceed the attribute values
limit for the {attribute_path} attribute if all
changes from the request are applied. Limit:
{limit_value} , value to
save:{current_value} |
|||
maxAttributeValueSize |
10240 kilobytes | Maximum character length of a single value. The value is measured in kilobytes. | 147 | ATTRIBUTE_VALUE_SIZE_LIMIT_EXCEEDED - Maximum attribute value size limit {value_size}
exceeded for attribute {attribute_name} for the
object URI {entity_id} . |
maxCrosswalks |
200 | Maximum number of crosswalks per entity. Crosswalks
in reference attributes are not considered in this limit. Note: For
entities, the entity size is checked along with the size of the
reference entities and relations specified in the reference
attributes. For relations, only the relation size is checked,
and the size of the start and end objects is not checked. So,
the relation size can be increased by adding additional
crosswalks. |
131 | OBJECT_TOO_LARGE_TO_SAVE_IT - Object is too
large {object_id} . Crosswalks limit exceeded for
the whole object. Limit: {limit_value} , current
value:{current_value} |
921 | ENTRY_HAS_LARGE_OBJECT - [object type] with
crosswalks: [{crosswalk_values}] exceed the crosswalks limit for the
whole object if all changes from the request are applied. Limit:
{limit_value} , current value:
{current_value} |
|||
maxSubNestedAttributesPerEntity |
20000 | Maximum number of values under all nested attributes per entity. For several levels of nesting, both the sub-attribute itself and its sub-attributes are counted. | 131 | OBJECT_TOO_LARGE_TO_SAVE_IT - Object is too
large {object_id} . Sub-nested values limit exceeded
for the whole object. Limit: {limit_value} , current
value: {current_value} |
921 | ENTRY_HAS_LARGE_OBJECT - [object type] with
crosswalks: [{crosswalk_values}] exceed the sub-nested values limit
for the whole object if all changes from the request are applied.
Limit: {limit_value} , current value:
{current_value} |
|||
maxSubReferenceAttributesPerEntity |
20000 | Maximum number of values under all referenced attributes per entity. | 131 | OBJECT_TOO_LARGE_TO_SAVE_IT - Object is too
large {object_id} . Sub-reference values limit
exceeded for the whole object. Limit:
{limit_value} , current value:
{current_value} |
921 | ENTRY_HAS_LARGE_OBJECT - [object type] with
crosswalks: [{crosswalk_values}] exceed the sub-reference values
limit for the {attribute_path} attribute if all
changes from the request are applied. Limit:
{limit_value} , current value:
{current_value} |
|||
maxReferenceCrosswalksPerEntity |
2000 | Maximum number of crosswalks in all referenced
attributes per entity. Crosswalks from refEntity
and refRelation of reference attributes are also
considered. |
131 | OBJECT_TOO_LARGE_TO_SAVE_IT - Object is too
large {object_id} . Reference crosswalks limit
exceeded for the whole object. Limit:
{limit_value} , current value:
{current_value} |
921 | ENTRY_HAS_LARGE_OBJECT - [object type] with
crosswalks: [{crosswalk_values}] exceed the reference crosswalks
limit for the whole object if all changes from the request are
applied. Limit: {limit_value} , current value:
{current_value} |
A 922 error message that is common for all properties may also be generated, if any entry does not have large objects but has an object that is used in a failed entry:
ENTRY_HAS_OBJECT_USED_IN_FAILED_ENTRY - Reference Entity with crosswalks: [{crosswalk_values}] is also used in a failed entry for the object with crosswalks: [{crosswalk_values}]
- The hidden and ignored attributes along with crosswalks with
deleteDate
are also counted. - Sub-nested attributes located in a sub-reference attribute are considered as both sub-nested and sub-reference attributes.
Examples
Example 1: Count of Sub-Nested Attributes
When an entity has several levels of nesting, sub-nested attributes from all the levels are counted.
The value ofmaxSubNestedAttributesPerEntity
is 3
. You
post the following values for sub-nested attributes of an entity as follows:
POST {{api_uri}}{{tenant}}/entities
[
{
"attributes": {
"NestedTest": [
{
"value": {
"NestedTestL2": [
{
"value": {
"IntL2": [
{
"value": "11"
},
{
"value": "12"
}
],
"StringL2": [
{
"value": "33"
}
]
}
}
]
}
}
]
},
"type": "configuration/entityTypes/HCP",
"roles": [],
"crosswalks": [
{
"type": "configuration/sources/HMS",
"value": "1"
}
]
}
]
Response
[
{
"index": 0,
"errors": {
"severity": "Error",
"errorMessage": "Object too large to save it entities/19aHBZjf",
"errorCode": 131,
"errorDetailMessage": "Object is too large entities/19aHBZjf. Sub-nested values limit exceeded"
},
"successful": false
}
]
There is an error in the response because the count of the sub-nested attributes you posted is four that exceeds the limit of three:
NestedTestL2 + IntL2_1 + IntL2_2 + StringL2 = 4 sub-nested attributes
Example 2: Count of Sub-Reference Attributes
All the sub-reference attributes
contained in an entity are counted to check the
maxSubReferenceAttributesPerEntity
limit.
The value of
maxSubReferenceAttributesPerEntity
is 4
. You
post the following values for sub-reference attributes of an entity as
follows:
POST {{api_uri}}{{tenant}}/entities
[
{
"attributes": {
"FirstName": [
{
"value": "Simon"
}
],
"LastName": [
{
"value": "Mitchell"
}
],
"Address": [
{
"value": {
"AddressLine1": [
{
"value": "350 Hawthorne Ave"
}
],
"City": [
{
"value": "City1"
}
]
}
},
{
"value": {
"AddressLine1": [
{
"value": "19 Birmington str"
}
],
"City": [
{
"value": "City2"
}
]
}
}
],
"Employment": [
{
"value": {
"Name": [
{
"value": "Organization Name"
}
]
}
}
]
},
"type": "configuration/entityTypes/HCP",
"crosswalks": [
{
"type": "configuration/sources/FB",
"value": "456842"
}
]
}
]
Response
[
{
"index": 0,
"errors": {
"severity": "Error",
"errorMessage": "Object too large to save it entities/19aHBqmh",
"errorCode": 131,
"errorDetailMessage": "Object is too large entities/19aHBqmh. Sub-reference values limit exceeded"
},
"successful": false
}
]
There is an error in the response because the count of the sub-references attributes you posted is five that exceeds the limit of four.
Example 3: Count of Sub-Nested Attributes Inside a Sub-Reference Attribute
Sub-nested attributes inside a sub-reference attribute are counted along with other sub-nested attributes even if the other sub-nested attributes are not inside a sub-reference attribute. The total count of sub-nested attributes must not exceed the specified limit irrespective of where they are located.
The value ofmaxSubNestedAttributesPerEntity
and
maxSubReferencesAttributesPerEntity
is 3
. The
following example shows that the sub-nested attributes count
(RefNestedTest.RefInt1
+ RefNestedTest.RefInt2
+
RefNestedTest.RefString1
+
RefNestedTest.RefString2
) inside a sub-reference attribute exceeds
the limit of 3
:
POST {{api_uri}}{{tenant}}/entities
[
{
"attributes": {
"FirstName": [
{
"value": "Person1"
}
],
"Address": [
{
"value": {
"RefNestedTest": [
{
"value": {
"RefInt": [
{
"value": "11"
},
{
"value": "12"
}
],
"RefString": [
{
"value": "33"
},
{
"value": "44"
}
]
}
}
]
}
}
]
},
"type": "configuration/entityTypes/HCP",
"roles": [],
"crosswalks": [
{
"type": "configuration/sources/FB",
"value": "456842"
}
]
}
]
Response
[
{
"index": 0,
"errors": {
"severity": "Error",
"errorMessage": "Object too large to save it entities/19aHFyWB",
"errorCode": 131,
"errorDetailMessage": "Object is too large entities/19aHFyWB. Sub-nested values limit exceeded"
},
"successful": false
}
]
In
the following example, the number of sub-reference attributes is 4
(RefNestedTest
+ RefNestedTest.RefString1
+
RefNestedTest.RefString2
+
City
).
POST {{api_uri}}{{tenant}}/entities
[
{
"attributes": {
"FirstName": [
{
"value": "Person1"
}
],
"Address": [
{
"value": {
"RefNestedTest": [
{
"value": {
"RefString": [
{
"value": "33"
},
{
"value": "44"
}
]
}
}
],
"City": [
{
"value": "Some city"
}
]
}
}
]
},
"type": "configuration/entityTypes/HCP",
"roles": [],
"crosswalks": [
{
"type": "configuration/sources/FB",
"value": "456842"
}
]
}
]
Response
[
{
"index": 0,
"errors": {
"severity": "Error",
"errorMessage": "Object too large to save it entities/19aHFyWB",
"errorCode": 131,
"errorDetailMessage": "Object is too large entities/19aHFyWB. Sub-reference values limit exceeded"
},
"successful": false
}
]