You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of the tenets outlined in #17298, support needs to be added to the management of sessions in the SecureSessionTable to properly do the following
Instead of CreateNewSecureSession failing if there are no slots available, it should evict the oldest session in the table with the following sorting criteria:
i. A primary sort of all sessions based on time at which the session was established.
ii. A secondary sort of the resultant set based on fabrics that over their specified minimas for active CASE sessions.
iii. A tertiary sort of the resultant set based on nodes that have more than 1 active session to them.
The candidate at the top of the sorted list should be selected.
Remove the ExpireInactiveSessions and associated logic. Sessions should not expire on a timer.
FindSecureSessionForNode should return the most recent session established to a given peer.
The text was updated successfully, but these errors were encountered:
- From project-chip#17422 onwards, "previous" CASE sessions were not expired
in terms of the session cache if sessions were constantly
re-established.
- A root cause solution will be to solve project-chip#17568, but in the meantime,
cert testing started failing after N (where N is session manager
pool size) runs.
This PR cleans-up the previous sessions from same node (duplicate sessions
that should not happen). This is a bit unclean but will do to unblock
testing since it was good enough before, and the better method is not
yet implemented.
This PR also adds logging when this happens.
Fixesproject-chip#17698
Testing done:
- Unit tests pass
- Cert tests pass
- Manual run of N > 16
`for i in {1..18}; do ./out/debug/standalone/chip-tool basic read vendor-name 115566 0 ; done`
does not fail as before.
* Quick-fix running out of CASE sessions
- From #17422 onwards, "previous" CASE sessions were not expired
in terms of the session cache if sessions were constantly
re-established.
- A root cause solution will be to solve #17568, but in the meantime,
cert testing started failing after N (where N is session manager
pool size) runs.
This PR cleans-up the previous sessions from same node (duplicate sessions
that should not happen). This is a bit unclean but will do to unblock
testing since it was good enough before, and the better method is not
yet implemented.
This PR also adds logging when this happens.
Fixes#17698
Testing done:
- Unit tests pass
- Cert tests pass
- Manual run of N > 16
`for i in {1..18}; do ./out/debug/standalone/chip-tool basic read vendor-name 115566 0 ; done`
does not fail as before.
* Restyled by clang-format
* Fix CI
Co-authored-by: Restyled.io <[email protected]>
As part of the tenets outlined in #17298, support needs to be added to the management of sessions in the
SecureSessionTable
to properly do the followingCreateNewSecureSession
failing if there are no slots available, it should evict the oldest session in the table with the following sorting criteria:i. A primary sort of all sessions based on time at which the session was established.
ii. A secondary sort of the resultant set based on fabrics that over their specified minimas for active CASE sessions.
iii. A tertiary sort of the resultant set based on nodes that have more than 1 active session to them.
The candidate at the top of the sorted list should be selected.
ExpireInactiveSessions
and associated logic. Sessions should not expire on a timer.FindSecureSessionForNode
should return the most recent session established to a given peer.The text was updated successfully, but these errors were encountered: