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 like multipart/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.
  • 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 the removeCookies 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. If you need support for this, please upvote the feature request.