Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GraphQL over SSE distinct connection mode #2463

Closed
wants to merge 16 commits into from
Closed

Conversation

enisdenjo
Copy link
Collaborator

@enisdenjo enisdenjo commented Feb 17, 2023

Closes #2445

Starting from next major release of Yoga, the graphqlSse server option will be dropped and GraphQL over SSE spec will be used exclusively.

TODO

  • Update documentation

@changeset-bot
Copy link

changeset-bot bot commented Feb 17, 2023

🦋 Changeset detected

Latest commit: 9a84cea

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 21 packages
Name Type
graphql-yoga Minor
@graphql-yoga/common Patch
@graphql-yoga/node Patch
@graphql-yoga/render-graphiql Major
@graphql-yoga/plugin-apollo-inline-trace Major
@graphql-yoga/plugin-apq Major
@graphql-yoga/plugin-csrf-prevention Major
@graphql-yoga/plugin-defer-stream Major
@graphql-yoga/plugin-disable-introspection Major
@graphql-yoga/plugin-graphql-sse Major
@graphql-yoga/plugin-persisted-operations Major
@graphql-yoga/plugin-prometheus Major
@graphql-yoga/plugin-response-cache Major
@graphql-yoga/plugin-sofa Major
apollo-federation-gateway-with-yoga Patch
apollo-subgraph-with-yoga Patch
graphql-lambda Patch
cloudflare-advanced Patch
cloudflare Patch
hackernews Patch
hello-world-benchmark Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@enisdenjo enisdenjo requested review from ardatan and n1ru4l February 17, 2023 20:57
@github-actions
Copy link
Contributor

github-actions bot commented Feb 17, 2023

✅ Benchmark Results

     ✓ no_errors{mode:graphql}
     ✓ expected_result{mode:graphql}
     ✓ no_errors{mode:graphql-jit}
     ✓ expected_result{mode:graphql-jit}
     ✓ no_errors{mode:graphql-response-cache}
     ✓ expected_result{mode:graphql-response-cache}
     ✓ no_errors{mode:graphql-no-parse-validate-cache}
     ✓ expected_result{mode:graphql-no-parse-validate-cache}

     checks.......................................: 100.00% ✓ 312960      ✗ 0     
     data_received................................: 1.3 GB  11 MB/s
     data_sent....................................: 63 MB   526 kB/s
     http_req_blocked.............................: avg=1.73µs   min=1.1µs    med=1.5µs    max=678.61µs p(90)=2.2µs    p(95)=2.4µs   
     http_req_connecting..........................: avg=7ns      min=0s       med=0s       max=509.51µs p(90)=0s       p(95)=0s      
     http_req_duration............................: avg=510.22µs min=268.3µs  med=410.7µs  max=31.09ms  p(90)=748.21µs p(95)=785.21µs
       { expected_response:true }.................: avg=510.22µs min=268.3µs  med=410.7µs  max=31.09ms  p(90)=748.21µs p(95)=785.21µs
     ✓ { mode:graphql-jit }.......................: avg=383.03µs min=268.3µs  med=337µs    max=19.22ms  p(90)=397.8µs  p(95)=428.41µs
     ✓ { mode:graphql-no-parse-validate-cache }...: avg=817.45µs min=657.81µs med=745.31µs max=20.94ms  p(90)=818.89µs p(95)=929.66µs
     ✓ { mode:graphql-response-cache }............: avg=430.19µs min=307.8µs  med=391.5µs  max=14.46ms  p(90)=439.91µs p(95)=459.01µs
     ✓ { mode:graphql }...........................: avg=534.9µs  min=386.91µs med=458.81µs max=31.09ms  p(90)=542.01µs p(95)=637.51µs
     http_req_failed..............................: 0.00%   ✓ 0           ✗ 156480
     http_req_receiving...........................: avg=31.24µs  min=17.2µs   med=27.3µs   max=11.1ms   p(90)=38.9µs   p(95)=43.1µs  
     http_req_sending.............................: avg=13.72µs  min=6.2µs    med=8.5µs    max=5.82ms   p(90)=13.5µs   p(95)=15.6µs  
     http_req_tls_handshaking.....................: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting.............................: avg=465.25µs min=238.7µs  med=369.1µs  max=31.02ms  p(90)=708.81µs p(95)=737.41µs
     http_reqs....................................: 156480  1303.979846/s
     iteration_duration...........................: avg=760.79µs min=479.61µs med=656.71µs max=31.4ms   p(90)=996.92µs p(95)=1.04ms  
     iterations...................................: 156480  1303.979846/s
     vus..........................................: 1       min=1         max=1   
     vus_max......................................: 2       min=2         max=2   

@github-actions
Copy link
Contributor

github-actions bot commented Feb 17, 2023

🚀 Snapshot Release (rc)

The latest changes of this PR are available as rc on npm (based on the declared changesets):

Package Version Info
@graphql-yoga/apollo-link 1.7.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/urql-exchange 1.7.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/common 3.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
graphql-yoga 3.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/node 3.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-apollo-inline-trace 1.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-apq 1.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-csrf-prevention 1.4.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-defer-stream 1.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-disable-introspection 0.7.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-graphql-sse 1.4.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-persisted-operations 1.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-prometheus 1.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-response-cache 1.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-sofa 1.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎
@graphql-yoga/render-graphiql 3.8.0-rc-20230320161336-9a84cea3 npm ↗︎ unpkg ↗︎

@github-actions
Copy link
Contributor

github-actions bot commented Feb 17, 2023

💻 Website Preview

The latest changes are available as preview in: https://3541f97b.graphql-yoga.pages.dev

@@ -110,7 +110,7 @@ export function handleError(
export function getResponseInitByRespectingErrors(
result: ResultProcessorInput,
headers: Record<string, string> = {},
isApplicationJson = false,
prefer200 = false,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add a comment explaining this flag

@enisdenjo enisdenjo force-pushed the graphql-sse-distinct branch from 4a1d1e5 to be437c7 Compare March 20, 2023 15:27
@github-actions
Copy link
Contributor

Apollo Federation Subgraph Compatibility Results

Federation 1 SupportFederation 2 Support
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢

Learn more:

@enisdenjo
Copy link
Collaborator Author

Closed in favour of #2445.

@enisdenjo enisdenjo closed this Mar 22, 2023
@enisdenjo enisdenjo deleted the graphql-sse-distinct branch March 22, 2023 10:03
@theguild-bot theguild-bot mentioned this pull request Apr 20, 2023
@theguild-bot theguild-bot mentioned this pull request May 7, 2024
@theguild-bot theguild-bot mentioned this pull request May 7, 2024
This was referenced May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants