
|
If you were logged in you would be able to see more operations.
|
|
|
|
Issue Links:
|
Relate
|
|
This issue relates to:
|
|
|
SAK-11268 Stale Presence records need to be cleaned up occasionally
|
|
|
|
|
|
|
|
|
In unusual cases (e.g. app server temporarily cannot write to the db, network problems, etc.), a session record may be closed, but a presence record is still in existence.
The presence service method getSessions(String locationId) calls UsageSessionService getSessions(joinTable, joinAlias, joinColumn, joinCriteria, fields) which will return a list of all sessions, whether active or not.
This is unhelpful, as closed sessions should no longer have presence, and in any event closed session records may have been archived from the db anyway, so the kernel cannot be expected to meet a contract to return all session info related to closed sessions. (In fact the only service using this method is presence.)
The UsageSessionService getSessions method should therefore only return active usage sessions.
|
|
Description
|
In unusual cases (e.g. app server temporarily cannot write to the db, network problems, etc.), a session record may be closed, but a presence record is still in existence.
The presence service method getSessions(String locationId) calls UsageSessionService getSessions(joinTable, joinAlias, joinColumn, joinCriteria, fields) which will return a list of all sessions, whether active or not.
This is unhelpful, as closed sessions should no longer have presence, and in any event closed session records may have been archived from the db anyway, so the kernel cannot be expected to meet a contract to return all session info related to closed sessions. (In fact the only service using this method is presence.)
The UsageSessionService getSessions method should therefore only return active usage sessions.
|
Show » |
|
QA: Check for no regressions - presence still works as expected. The functional change fixes edge cases which can't easily be reproduced except by directly altering the db for a running instance, so code review would be sufficient.