graphql-anycable icon indicating copy to clipboard operation
graphql-anycable copied to clipboard

Store GraphQL query by fingerprint (optimize for broadcasting)

Open Envek opened this issue 3 years ago • 0 comments

Goal: avoid requesting all subscription ids for fingerprint. That might impose too much load without real need for it.

Actually, we don't need to store GraphQL query and variables separately for each subscriber of the same broadcastable query as they will be the same (see https://graphql-ruby.org/subscriptions/broadcast#under-the-hood), non-broadcastable queries will get unique fingerprints, so extra step to get GraphQL query for re-evaluation seems to be redundant here also.

Status:

  • [x] Basic implementation (aka proof of concept)
  • [ ] Compatibility with older data model
  • [ ] Operational stability (expires etc)
  • [ ] Real world check

Envek avatar Oct 28 '22 14:10 Envek