GithubHelp home page GithubHelp logo

hotchocolate13subissue's Introduction

HotChocolate13SubIssue

Example repo for HC Issue ChilliCream/graphql-platform#5877

Is there an existing issue for this?

* [x]  I have searched the existing issues

Product

Hot Chocolate

Describe the bug

Subscription topic randomly stops working after some time. The client is still subscribed and ping/pongs are still being sent, and new messages arrive for some topics except for the failed one. It's not limited to a specific topic, sometimes topicA fails, another time it's topicB, but eventually they all fail.

I have made a minimal solution that can be used to reproduce the issue, you can find it in this repo: https://github.com/DownGoat/HotChocolate13SubIssue

It has a single query that has properties that takes some time to resolve (simulating dataloaders, and slow db calls), and a single subscription that returns some random data. This is very similar to our setup for our project where a controller endpoint is being sent data every 5 seconds that it pushes to the topic that usually stalls first. It is the topic that has the most subscribers, and the only one that frequently sends new messages.

I have tested the same solution with version 12.17.0, and I have not managed to reproduce the issue. We first noticed it after upgrading to version 13.

Steps to reproduce

1. Start the following subscription
   `subscription VesselPositions {   listVessels { timeStamp int1 int2 int3   } }`

2. Send data to the topic by sending a GET request to `https://localhost:5001/WeatherForecast`. This endpoint sends a list of three entities with random data for the _intN_ fields and the current time. I use postman to repeat this request forever with a 10ms delay between each request.

3. Start and stop the subscription in BCP, after some tries the subscription stalls, and you wont be getting any new data. If this is taking a lot of time, try opening a new tab in BCP where you run the following query, while it resolves continue starting and stopping the subscription. `query WatchingPaintDry {   slowEntity { prop1 prop2 prop3 prop4   } }`

Relevant log output

No response

Additional Context?

No response

Version

13.x.x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.