-
-
Notifications
You must be signed in to change notification settings - Fork 8
[Connector] Swallowed promises in Redis/system/demos & demo upload file deletion race #410
Copy link
Copy link
Open
Labels
P1-highStability & reliabilityStability & reliabilityaudit-2026-03From March 2026 codebase auditFrom March 2026 codebase auditerror-handlingMissing or incorrect error handlingMissing or incorrect error handlingservice:connector5stackgg/game-server-node-connector service5stackgg/game-server-node-connector service
Description
Summary
Multiple async operations swallow errors, and demo upload has a race condition with file deletion.
Findings
- kubernetes.service.ts — K8s API errors return undefined. Callers cannot distinguish no data from failure.
- webrtc.service.ts — void redis.multi().exec() swallows Redis transaction errors.
- demos.service.ts — first uploadDemos() error swallowed. Failed upload could delete files. Uses deprecated rmdirSync.
- webrtc.service.ts — pcMap accumulates peer connections never removed.
- system.service.ts — void sendNodeStatus() in setInterval swallows errors.
Impact
Silent data loss, stale metrics, demo file loss, growing peer connection map.
Suggested Fix
Add .catch() to void promises. Only delete demos after confirmed upload. Replace rmdirSync. Add peer cleanup.
Related Issues (Error Handling Pattern)
- [API] Swallowed async errors — Discord setup, Redis subs, job queues, unhandled rejections #376 — [API] Swallowed async errors
- [Web] Subscription & Apollo error handling — silent failures, swallowed errors #389 — [Web] Subscription & Apollo error handling
- [Game Server] Config download failure, silent deserialization, swallowed stack traces #400 — [Game Server] Config download & swallowed exceptions
- [Connector] Swallowed promises in Redis/system/demos & demo upload file deletion race #410 — [Connector] Swallowed promises & demo upload race
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1-highStability & reliabilityStability & reliabilityaudit-2026-03From March 2026 codebase auditFrom March 2026 codebase auditerror-handlingMissing or incorrect error handlingMissing or incorrect error handlingservice:connector5stackgg/game-server-node-connector service5stackgg/game-server-node-connector service
Type
Projects
Status
Backlog