Skip to content

Mixed bugfixes#146

Merged
anderslindho merged 5 commits intomasterfrom
bugfixes
May 4, 2026
Merged

Mixed bugfixes#146
anderslindho merged 5 commits intomasterfrom
bugfixes

Conversation

@anderslindho
Copy link
Copy Markdown
Contributor

See individual commits for descriptions. In particular the NActive issue seems highly relevant for critical issues we have in production at ESS, for our largest sub-network (~2500 IOCs).

`struct.Struct.unpack` returns a tuple, so `record_id = _ping.unpack(...)`
was binding the single-element tuple `(value,)` rather than the int. Every
del-record handoff to the session was therefore receiving the wrong type,
which silently broke deletion in any backend that compared `record_id` by
value.
Twisted's DatagramProtocol.datagramReceived expects (datagram, addr),
not a single positional argument. The wrong signature would raise a
TypeError if a datagram arrived despite the transport being paused.
Comment thread server/recceiver/recast.py Outdated
Comment thread server/recceiver/cfstore.py Outdated
CastFactory.buildProtocol computed the active flag correctly but never
incremented NActive, so the maxActive limit was permanently bypassed.
Every connection was accepted as active regardless of configured limit,
causing thundering-herd overload on restart with large IOC counts.
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 4, 2026

@anderslindho anderslindho merged commit 5d56765 into master May 4, 2026
22 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants