Add timeouts

Open
#4 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
typescript

Research direction

The issue names no files, tests, or entry points. First map where parsing, validation, planning, execution, subscriptions, and incremental delivery are handled; done requires an agreed timeout design covering cancellation and the listed operation types.

Written by the indexing model from the issue text.

Description

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
Dominant language
TypeScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from graphql/golden-path

All issues in graphql/golden-path

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.