-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix liveness timer not firing for subscriptions #21693
Fix liveness timer not firing for subscriptions #21693
Conversation
PR #21693: Size comparison from b6859d7 to 85d699e Increases (41 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, p6, telink)
Decreases (6 builds for cc13x2_26x2)
Full report (41 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, p6, telink)
|
lowered to 50ms (from 20s previously I believe), it breaks subscriptions setup in the tests that have a max interval of 0s. The timer fires way too rapidly for the test to function correctly. Fixed the tests to at least specify a max interval of 1s.
PR #21693: Size comparison from b6859d7 to ec5194d Increases (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (6 builds for cc13x2_26x2)
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
PR #21693: Size comparison from b6859d7 to eb996ce Increases (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (6 builds for cc13x2_26x2)
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
…tImpl to cover the chip-tool usecase
eb996ce
to
7ed9d64
Compare
PR #21693: Size comparison from 34a8570 to 7ed9d64 Increases (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (6 builds for cc13x2_26x2)
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
facbceb
to
70b4ae2
Compare
70b4ae2
to
79d3447
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Er, I meant to request changes...
PR #21693: Size comparison from c3cc4a2 to 79d3447 Increases (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (6 builds for cc13x2_26x2)
Full report (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
MessagingContext and added MessagingContext::SetMRPMode to make it possible for some tests to set it to a more responsive modality.
PR #21693: Size comparison from 3860268 to 287a46b Increases (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (6 builds for cc13x2_26x2)
Full report (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
@mrjerryjohns can you rebase this? |
Fixes #21546
On subscriptions created with
ReadClient::SendRequest
,ReadClient::RefreshLivenessCheckTimer
was erroring out due to the incorrect assumption thatmReadPrepareParams.mSessionHolder
would betracking a valid session, which it isn't in the re-sub disabled case.
Fixes:
mReadPrepareParams.mSessionHolder
always track the latest valid session in all subscription related cases.RefreshLivenessCheckTimer
to be the type of function that just returns an error and let callers deal with callingClose()
. Fix up callers to handle the error returned appropriately.MessagingContext
helper to use a much lower idle/active retrans timeout values for the test sessions to facilitate faster tests. This should provide benefits across the board (e.gTestWriteChunking
drops for 19s to 5s!). By doing altering it at this level, various tests that accelerated failure discovery by altering the liveness timeouts can go to a more representative model of failure injection by doing stuff like dropping packets (like a real network would) to simulate certain classes of failures instead, while still ensuring the tests run reasonably fast in CI.Tests:
TestSubscribeAttributeTimeout
test that checks for subscriptions timing out due to a liveness failure. Ensured that it failed prior to the change, and passes after.