Skip to main content

Data Retention

seal service is processing messages by storing their metadata in a relational database table used as a queue. The table is called queue. To see the definition of the table columns you can look inside the /db/migrations directory.

queue table description:

Column nameDescription
message_idUnique message identifier
senderMessage sender stored as a JSON object
recipientsMessage recipients stored as an array of JSON objects
unencryptedBoolean indicating if the message must be encrypted
statusMessage status used during internal processing stages
created_atUnix timestamp when record is created
updated_atUnix timestamp when record is last updated

What data is stored and what data is removed and when?

There are two possible outcomes after a message is accepted for sealing by the seal service: successful sealing or failed sealing.

In both cases message metadata is deleted from the queue table and no other data is stored.

In case of failed sealing, the message is removed from the queue table after certain number of retries. The number of retries and the duration between retries are controlled by the SEAL_MAX_MESSAGE_RETRIES and NACK_WAIT_RETRY configuration variables. After the message is removed from the queue, a failed status is sent to the mxengine service.