Service Limitations
Stellate has a few limits you need to be aware of.
Size Limits
- The maximum response size that Stellate can handle right now is 133MB. Responses larger than this will trigger an error from Stellate.
- The maximum response size that can be cached is 10MB. Responses larger than this will be passed through to your backend API.
- The maximum response size which can be purged is 10MB.
- The maximum response size of a mutation that will end up in purging is 10MB.
- The maximum timeout of request to your origin is 5 minutes.
- The maximum query size (including variables) is 60 MB. If you need to send bigger payloads, e.g. a file upload, please use a Content-Type that is not
application/json
likemultipart/form-data
. - The maximum query size which we can process is 40KB. Anything bigger than that will be passed through to your origin without Stellate being able to cache it. For reference: The introspection query has a size of about 1KB.
- If you have Rate Limiting enabled for your service, the maximum request size we can process is 5MB, requests larger than this will result in a
QUERY_TOO_LARGE
error. This limitation includes multipart requests.
Cookie Support
- If you have Partial Query Caching (PQC) disabled, any
Set-Cookie
header received on the response from your origin, will cause that response to not get cached. This is because Stellate can not tell whether those cookies are specific to this one request, or should be included on each request. Since they could potentially contain sensitive information, we take the cautious approach and do not cache that query. You can use theremoveCookies
configuration directive to selectively remove cookies from responses. - If you have Partial Query Caching (PQC) enabled, any
Set-Cookie
headers received from your origin will be stripped. Since responses with PQC can be a combination of data received by different requests from your origin, we could merge cookies from various requests, which could potentially contain sensitive information. We again take the cautious approach and decided to remove cookies in those instances.
Request Limits
There is no limit on how many requests you can do at the same time.
Caching Empty Lists
We currently do not cache empty responses. The reason for this is that our current implementation tags responses with the __typename
, which in the case of an empty response would not be available. As such we wouldn't be able to tag the response properly and neither would we be able to purge it via the Purging API.
Websockets Support
Stellate currently does not support requests via web sockets.