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.