From a6d246e00a358d6df77d32e404a8ae719088cdf3 Mon Sep 17 00:00:00 2001 From: sawka Date: Fri, 14 Nov 2025 09:47:22 -0800 Subject: [PATCH 1/2] dont grow events unbounded when persisting --- pkg/wps/wps.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkg/wps/wps.go b/pkg/wps/wps.go index ca08de709f..b87e2ab6dd 100644 --- a/pkg/wps/wps.go +++ b/pkg/wps/wps.go @@ -34,8 +34,7 @@ type persistKey struct { } type persistEventWrap struct { - ArrTotalAdds int - Events []*WaveEvent + Events []*WaveEvent } type BrokerType struct { @@ -214,16 +213,13 @@ func (b *BrokerType) persistEvent(event WaveEvent) { pe := b.PersistMap[key] if pe == nil { pe = &persistEventWrap{ - ArrTotalAdds: 0, - Events: make([]*WaveEvent, 0, event.Persist), + Events: make([]*WaveEvent, 0, numPersist), } b.PersistMap[key] = pe } pe.Events = append(pe.Events, &event) - pe.ArrTotalAdds++ - if pe.ArrTotalAdds > ReMakeArrThreshold { - pe.Events = append([]*WaveEvent{}, pe.Events...) - pe.ArrTotalAdds = len(pe.Events) + if len(pe.Events) > numPersist { + pe.Events = pe.Events[len(pe.Events)-numPersist:] } } } From a55ea496fa976b87886d1c5b46991df9a7f77442 Mon Sep 17 00:00:00 2001 From: sawka Date: Fri, 14 Nov 2025 11:04:29 -0800 Subject: [PATCH 2/2] remove unused cost --- pkg/wps/wps.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/wps/wps.go b/pkg/wps/wps.go index b87e2ab6dd..f36fba10ca 100644 --- a/pkg/wps/wps.go +++ b/pkg/wps/wps.go @@ -16,7 +16,6 @@ import ( // strong typing and event types can be defined elsewhere const MaxPersist = 4096 -const ReMakeArrThreshold = 10 * 1024 type Client interface { SendEvent(routeId string, event WaveEvent)