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

Errors during the releases when there are new GraphQL Executors and still old web servers #10493

Open
rafaelromcar-parabol opened this issue Nov 15, 2024 · 6 comments
Labels
bug p3 Should be addressed when able

Comments

@rafaelromcar-parabol
Copy link
Contributor

rafaelromcar-parabol commented Nov 15, 2024

Issue - Bug

  • How serious is the bug? P3
  • OS: macOS / Linux / Windows / ?
  • Browser: Chrome / Safari / Lynx / ? + version
  • Node version: node --version
  • NPM version: npm --version

Sentry related issues:

Related with #10453 ?

SEND TO SENTRY Error: Called disconnect without a valid socket                                                                                                                                                     
    at disconnectSocket (/home/node/parabol/dist/gqlExecutor.js:121814:11)                                                                                                                                         
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)                                                                                                                                  
    at async Object.disconnectSocket (/home/node/parabol/dist/gqlExecutor.js:102417:14)                                                                                                                            
    at async Object.MutationdisconnectSocketResolver (/home/node/parabol/dist/gqlExecutor.js:144099:22) {                                                                                                          
  locations: [ { line: 3, column: 3 } ],                                                                                                                                                                           
  path: [ 'disconnectSocket' ]                                                                                                                                                                                     
}                                                                                                                                                                                                                  
Error: Called disconnect without a valid socket                                                                                                                                                                    
    at disconnectSocket (/home/node/parabol/dist/gqlExecutor.js:121814:11)                                                                                                                                         
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)                                                                                                                                  
    at async Object.disconnectSocket (/home/node/parabol/dist/gqlExecutor.js:102417:14)                                                                                                                            
    at async Object.MutationdisconnectSocketResolver (/home/node/parabol/dist/gqlExecutor.js:144099:22)

Acceptance Criteria (optional)

  • Users are disconnected as they should and no errors are shown in the logs
    Triage is performed to find the root cause of the bug, timeboxed to ~1 hour.

Estimated effort: 1 hour to triage. More if root cause is already identified.

@rafaelromcar-parabol
Copy link
Contributor Author

666 times in the last 15 days, mostly during releases. This might impact user experience during releases.

@rafaelromcar-parabol
Copy link
Contributor Author

Maybe this is just throwing the error because the user presence was still in Redis but the user was not connected to a socket anymore? 🤔 code here.

We also see a lot of "User does not exist" which doesn't seem to me very clear as error message. If I'm getting it correctly, the user exists, but they do not have a presence in Redis, isn't it?

@Dschoordsch
Copy link
Contributor

The "User does not exist" error happens when disconnectSocket was called with an unknown userId, i.e. we don't have a User with such an id in our db.

@jordanh jordanh added this to Product Nov 18, 2024
@github-project-automation github-project-automation bot moved this to To triage in Product Nov 18, 2024
@jordanh jordanh moved this from To triage to Backlog in Product Nov 18, 2024
@jordanh
Copy link
Contributor

jordanh commented Nov 18, 2024

Added this to the backlog

@jordanh jordanh added p2 Needs to be addressed on a reasonable timescale p3 Should be addressed when able and removed p2 Needs to be addressed on a reasonable timescale labels Nov 18, 2024
@jordanh
Copy link
Contributor

jordanh commented Nov 18, 2024

Lowered priority to p3

@rafaelromcar-parabol
Copy link
Contributor Author

This has happened again during a release that provoked some alerts in Datadog and PagerDuty, and I suspect that it also provoked some bad user experience. IMHO this should be P2 and addressed in Q1 2025. If not, we might want to avoid releasing during peak hours.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug p3 Should be addressed when able
Projects
Status: Backlog
Development

No branches or pull requests

3 participants