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.