Messages not created

Messages that are not getting created correctly might have fields that are too big.

Symptoms

Messages are created by users, but are not created correctly by the createMessage API. Exception errors are found in the logs.

Causes

This failure can be caused by one of the following issues:
  • Message name is too long.
  • Message payload is too big.
  • Message metadata is too long.

Environment

This can occur when Cassandra 2.2.3 or later is deployed.

Diagnosing the problem

You might see the exception errors similar to the following message:com.ibm.mailbox.common.exception.server.db.QueryException: CBXMD0024E: An unrecoverable error occurred when querying the database.

Resolving the problem

If your business requirements must have longer message names, payloads, or metadata, edit the cassandra.yaml file for the following property:
batch_size_fail_threshold_in_kb=60
The default value is 60. You can increase this value.
Remember: The bytes for all fields are additive in the batch size, so your value must be large enough to accommodate all fields.
You might have to adjust this value in the mailbox.properties file:
com.ibm.mailbox.maximum.allowed.inline.storage.limit=10240
Do not set these values larger than required. Large batches on a coordinator can cause a lot of node stress. The cassandra.yaml property protects your database if batch sizes go beyond a configurable size.