Transaction list grows without bound on parsers that use unidirectional transactions
Needs backport to 5.0
The SNMP transaction vector length can grow to large values eventually causing packet loss due to excessive time spent in rs_snmp_get_tx_iterator.
At a production site, this manifested as
1. Packet loss: packet loss occurred at rates well within the machine's capacity. Packet loss was nearly always present.
2. Excessive time in rs_snmp_get_tx_iterator (as measured by perf). Several readings showed it with 45% of time spent (displayed by perf).
Through observations obtained by capturing live network traffic, the attached pcap was synthetically constructed to demonstrate the issue. The key thing is the unbalanced ratio of requests to responses.
- Status changed from New to Assigned
- Assignee set to Jason Ish
- Target version set to 6.0.0
- Label Needs backport to 4.1, Needs backport to 5.0 added
- Status changed from Assigned to In Review
- Copied to Bug #3948: Transaction list grows without bound on parsers that use unidirectional transactions (4.1.x) added
- Copied to Bug #3949: Transaction list grows without bound on parsers that use unidirectional transactions (5.0.x) added
- Label deleted (
Needs backport to 4.1)
- Subject changed from SNMP: Transaction vector grows without bound to Transaction vector grows without bound (Was SNMP)
- Parent task deleted (
Rewording for parent ticket of all protocols with this issue for better tracking.
- Subject changed from Transaction vector grows without bound (Was SNMP) to Transaction list grows without bound on parsers that use unidirectional transactions
- Status changed from In Review to Closed
- Private changed from Yes to No
Also available in: Atom