Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-6814

Query Cache | GTID based cache consistency

    XMLWordPrintable

Details

    • New Feature
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    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

          Activity

            People

              Unassigned Unassigned
              allen.herrera Allen Herrera
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 20d
                  20d
                  Remaining:
                  Remaining Estimate - 20d
                  20d
                  Logged:
                  Time Spent - Not Specified
                  Not Specified

                  Git Integration

                    Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.