-
Notifications
You must be signed in to change notification settings - Fork 304
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
Added cache ttl refresh on heartbeat message for TP/ICAP #3210
Conversation
🦋 Changeset detectedLatest commit: ad68819 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Did some functional tests, everything seems to be working. Since 100% of the requests failed in soak testing, i assume this might be related to creds. |
@karen-stepanyan yeah we see soak tests failing at 100% across many previous PRs, OK without them for this I think |
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.
LGTM, only comment about MAX_CACHE_AGE
We could add a section to the docs/known-issues.md file in both tp
and icap
EAs that just specified something like
CACHE_MAX_AGE interaction with Heartbeat msgs
If CACHE_MAX_AGE is set below 60000ms, the extended cache TTL feature for out-of-market-hours that relies on heartbeats will not work.
Potential ticket changes & README additions
f67214d
to
4af098c
Compare
|
|
|
DF-19487
Added new check in TP/ICAP EA WS transport that checks if the incoming WS message is a heartbeat message (usually once every minute) and tries to update the TTL of the cache entries from active subscription set.
Heartbeat message looks like this
and
This ensures that as long as there is an active request to EA (in subscription set) and cached entry and heartbeat message from DP, the EA will persist the cache so that the value is available during off-market hours. Essentially this will keep the cache alive for all entries already in there until EA is restarted or until weekend, when heartbeat messages stop coming.