fix(server): shed overloaded group websocket fanout
This commit is contained in:
+9
-1
@@ -2068,7 +2068,15 @@ func (t *Topic) broadcastToSessions(msg *ServerComMessage) {
|
||||
sharedPayloadReady = true
|
||||
}
|
||||
if sharedPayload != nil {
|
||||
if sess.queueOutSharedBytes(sharedPayload) {
|
||||
if msg.Data != nil {
|
||||
queued, skipped := sess.queueOutLossySharedBytes(sharedPayload)
|
||||
if skipped {
|
||||
immetrics.IncTopicBroadcastDrop(kind, role, "ws_backpressure")
|
||||
}
|
||||
if queued {
|
||||
continue
|
||||
}
|
||||
} else if sess.queueOutSharedBytes(sharedPayload) {
|
||||
continue
|
||||
}
|
||||
immetrics.IncTopicSharedSerialization(kind, "full")
|
||||
|
||||
Reference in New Issue
Block a user