GridDB Error 60079 (DS_TIM_ROW_DATA_INVALID) when inserting row – value exceeds limit?

1 week ago 6
ARTICLE AD BOX

I am getting the following error while inserting data into a GridDB container:

60079 DS_TIM_ROW_DATA_INVALID ERROR Registration of row failed. Value of column in row specified for row registration, update or delete operation may have exceeded the limit value. Check whether the schema used in the operation is correct. Check whether the versions of the server and client are the same. Check whether the number and size below have exceeded the upper limit or range. ・Number of array elements ・Size of string, spatial, or BLOB data ・Time value

Situation

I have a container that stores sensor data. One of the columns is a STRING, and another is a TIMESTAMP. I occasionally receive large payloads from devices and store them as JSON strings.

When inserting certain rows, the insert fails with the above error.

ContainerInfo containerInfo = new ContainerInfo(); containerInfo.setName("SensorData"); containerInfo.setType(ContainerType.COLLECTION); List<ColumnInfo> columnList = new ArrayList<>(); columnList.add(new ColumnInfo("id", GSType.STRING)); columnList.add(new ColumnInfo("eventTime", GSType.TIMESTAMP)); columnList.add(new ColumnInfo("payload", GSType.STRING)); containerInfo.setColumnInfoList(columnList); containerInfo.setRowKeyAssigned(true); Container<String, Row> container = store.putContainer("SensorData", containerInfo, false);

Insert Code

Row row = container.createRow(); row.setString(0, "device-001"); // Simulated timestamp (far future date) row.setTimestamp(1, new java.util.Date(999999999999999999L)); // Very large JSON string (~10MB+) String largePayload = new String(new char[10_000_000]).replace('\0', 'A'); row.setString(2, largePayload); container.put(row);

Observations

Smaller payloads work fine.

Normal timestamps work fine.

The error only happens when:

The string becomes very large, or

The timestamp value is very large/unusual.


Questions

What are the exact size limits for:

STRING

BLOB

ARRAY

TIMESTAMP
in GridDB?

Is there a documented maximum string size per column?

Could this error be caused by client/server version mismatch?

If I need to store large JSON data (10MB+), what is the recommended approach?

Use BLOB instead of STRING?

Split data across multiple rows?

Is there a way to validate data size before calling put()?

I would appreciate clarification on what typically triggers DS_TIM_ROW_DATA_INVALID and best practices to avoid it.

Thank you!

Read Entire Article