Details
-
New Feature
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
-
MXS-CAPACITY-26-3
Description
As a user, I want the MaxScale Cache Filter to track cache freshness using per-table GTID state, so that cached results are invalidated the moment underlying data changes — not just after a TTL window expires.
Proposed approach (for discussion):
- Maintain a tracking table (in-memory or master table) that records the last GTID at which each table had a DML operation (insert/update/delete/alter).
- Tag each cached query result with the GTID at the time it was generated.
- On cache read, compare the cached result's GTID against the tracking table's latest GTID for the tables involved. If the tracking table is ahead, the entry is stale.
- On a stale hit, fall through to the backend, fetch fresh data, and re-cache with the new GTID.
This should be built as a common capability in the Cache Filter, so any storage backend gets write-triggered invalidation and read-after-write consistency
Attachments
Issue Links
- relates to
-
MXS-6617 Cache Invalidation for storage_gridgain
-
- In Progress
-