Running into limits can cause unexpected failures, so be mindful when you design your systems. Here is a list of many hard (error) or soft (warn) limits that you could encounter while using the Temporal Platform.
gRPC: gRPC has a limit of 4 MB for each message received.
Event batch size: The
DefaultTransactionSizeLimit
limit is 4 MB. This is the largest transaction size we allow for Event Histories to be persisted.- This is configurable with
TransactionSizeLimit
, if you know what you are doing.
- This is configurable with
Blob size limit for incoming payloads (including Workflow context; source):
- We warn at 512 KB:
Blob size exceeds limit.
- We error at 2 MB:
ErrBlobSizeExceedsLimit: Blob data size exceeds limit.
- This is configurable with
BlobSizeLimitError
andBlobSizeLimitWarn
, if you know what you are doing.
- We warn at 512 KB:
History total size limit (leading to a terminated Workflow Execution):
- We warn at 10 MB:
history size exceeds warn limit.
- We error at 50 MB:
history size exceeds error limit.
- This is configurable with
HistorySizeLimitError
andHistorySizeLimitWarn
, if you know what you are doing.
- We warn at 10 MB:
History total count limit (leading to a terminated Workflow Execution):
We warn at 10,000 Events:
history size exceeds warn limit.
We error at 50,000 Events:
history size exceeds error limit.
This is configurable with
HistoryCountLimitError
andHistoryCountLimitWarn
, if you know what you are doing.We fail the following Commands at 50,000 Events for OSS and 2,000 Events for Cloud:
ScheduleActivityTask
SignalExternalWorkflowExecution
RequestCancelExternalWorkflowExecution
StartChildWorkflowExecution