Skip to content

Add timeouts #4

Description

@benjie

I've removed timeouts from "operation cost controls" because I feel these are different (but related) concerns. Cost controls typically do counting (depth / list depth / fields per selection set / aliases / resolver calls / @defer instances / input value depth / etc) whereas timeouts are purely temporal and much broader.

Timeouts:

  • parsing
  • validation
  • (planning)
  • execution

To be aware of:

  • use an abort signal or similar to cancel work when a timeout fires
  • share a single abort signal across the entire operation
  • subscription operations should have per-event (per-payload) timeouts rather than per-operation
  • incremental delivery might want intra-payload timeouts - if the next payload doesn't come in time, cancel everything

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions