Workspace limits

This document provides a list of limits of the WSS.

Limits

Parameter Limit
Maximum RPC call size 1.005GB
Maximum object size 1GB
Maximum total size of returned objects 1GB
Maximum provenance size 1MB
Maximum user metadata size 16000B
Maximum total size of user metadata key / value pair 900B
Maximum total size of autometadata key / value pair 900B
Maximum memory use for sorting objects 200MB
Maximum object_infos returned by list_objects 10000
Maximum workspace references per save 100000

Notes on sorting

The workspace service sorts the contents of all objects before MD5 calculations, serialization, and storage.

When sorting objects, object mapping and structure keys in a single path from the object root to a single object leaf are stored in memory at one time. The memory limit applies to these keys plus the memory required for the object itself.

Objects > 100MB in size are dumped to disk, so the maximum memory allowed for keys is 200MB. Objects < 100MB are kept in memory, so the maximum memory allowed is 200MB - object size.

Thus, objects may violate this limit if 1) they have very large maps, 2) have many very large keys in the same map, or 3) have very deeply nested maps (which probably still need to be fairly large).

As a point of reference, sorting a 550MB Network object required only ~10MB of memory for keys.

Notes on workspace references

The workspace service supports a maximum of 100,000 object references (e.g. a reference specified by @id ws in a typespec) per saveObjects() call. The references may be in a single object, or spread across many objects.

References that are duplicated in a single object only count once towards this limit.