This behaviour may not necessarily indicate an issue.
Tyk stores analytics and operational key data separately:
- Analytics (usage history) are stored persistently (Postgres, Mongo etc..) by Tyk Pump.
- Operational key data (session information) is stored in the deployment's Redis.
As a result, analytics may remain available even after the operational key no longer exists.
How to determine the cause
Is the API secured with JWT?
If yes, this is the most likely explanation.
JWT-derived session keys are created dynamically by the Gateway and exist in the Redis storage of the Gateway handling the request (typically the Data Plane Gateway). While their usage history is available in analytics, the control plane Dashboard cannot retrieve these session objects.
This is expected behaviour and typically requires no manual action.
If the API is not using JWT
The key is likely no longer present in Redis. Common reasons include:
- The key TTL expired
- The key was deleted manually
- Redis data was lost or the key was evicted
The first two scenarios are expected. Redis data loss or eviction, however, is typically an operational issue and is usually accompanied by authentication failures or other errors.
Key takeaway: Being able to view a key's usage history does not guarantee that the operational key still exists or is retrievable.
Hashing configuration mismatch
A mismatch in the hash_keys configuration between the Dashboard and the Gateway (or across Control plane and Data plane Gateways), can cause the Dashboard to attempt to retrieve a key using a wrong format (hashed vs. unhashed), resulting in a Not Found response.
Please refer to articles on hashing below which may be helpful to ensure this is consistent across deployments.
"Search" Field not available...
Keys Not Updating (UI and through API)
Still not sure?
If none of the scenarios above seem to match your issue, please raise a support ticket with the relevant details and we'll be happy to help.
Comments
0 comments
Article is closed for comments.