coder / coder/websocket

Update docs and mention explicit close required change in v1.8.11

Open
#445 16 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
5.5k
Forks
372
PR merge metrics
No merged PRs in 30d

Description

## Problem
In our production systems we upgraded to latest patch version and we noticed excessive memory usage, seemed to be goroutine leak as far as I checked. Memory went up but when connections count went down, memory stayed roughly at the same level.

Probably on `close` etc it was not cleaned up properly, but I did not dig any further - for now we rolled back to version `v1.8.10` and all is back to normal.

Our use-case:
We have roughly opened 50k websockets on peak time at day, 500 messages pushed per second, 30 new websockets made per second, 30 old websockets closed per second.

Also for each websocket connection we execute in separate goroutine `PING-PONG`er to prevent websockets closing for clients under some circumstances.

Maybe it's some edge case with our usage, but for us it seems regression introduced.
If I can help anyhow more then let me know 🙏

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the v1.8.11 change related to connection closing and the existing documentation for WebSocket lifecycle management. Update the relevant documentation to mention that callers must explicitly close connections, then verify that the v1.8.11 behavior and requirement are described accurately.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.