aws / aws/aws-cdi-sdk

Raw Rx back pressure triggers excessive amount of logs

Open
#43 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
63
Forks
19
PR merge metrics
No merged PRs in 30d

Description

Please find below the description of the test:
1. Raw Tx using EFA sends uncompressed video stream (frame rate 30000/1001)
2. Raw Rx has a back-pressure, it means it can not receive the stream temporary and as such "stuck" in the payloadReceivedCallback, then it tries to push the data out.
3. At this point the Tx is not aware about this situation and keeps pushing video. Tx never got informed of the back-pressure on the Rx.
4. The Rx drops packages and starts to log the following log message: **ERROR Failed to get Rx Payload State entry from pool.**
5. These messages are printed **twice every ms**, i.e. thousands of them every second.
6. Then back-pressure is relived - the Rx works as expected and just "forgets" about all these dropped packages.

Can the CDI somehow filter these "Failed to get Rx Payload State entry from pool." and not log these in such a huge amount ?
May be create more descriptive message and not to log all these ? May be let the Rx know about the back-pressure condition ?
What is the expected behavior of the Rx during the back-pressure period ? Is it right that all the packages are just lost and the Tx even does not get informed about it ?
Regards
Alex

Contributor guide

Open the contributing guide

Research direction

Start by tracing payloadReceivedCallback and the "Failed to get Rx Payload State entry from pool" log path. Reproduce the raw EFA Rx back-pressure case described in the issue and inspect how dropped packets and Tx notification are handled. Done means the expected Rx behavior is defined and excessive logging is addressed, with regression coverage for the observed case.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.