Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-66896

Discard cachestore information on configuration changes

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.6.6, 3.7, 3.8
    • Fix Version/s: None
    • Component/s: Caching
    • Labels:
      None
    • Affected Branches:
      MOODLE_36_STABLE, MOODLE_37_STABLE, MOODLE_38_STABLE

      Description

      This was detected while testing MDL-66428, because the new compression option introduced there is really verbose with bad data in incorrect format.

      It seems that, whenever any cachestore option is changed (and this potentially applies to all the options (prefix, serializer, paths, compressors...) we never discard currently cached data.

      A) In some cases (say changing prefix or paths...) that just means that a new set of values is being cached completely ignoring the previous ones.

      B) In other cases (say changing serialized, compressor options) it means that the old data is read, that leads to a problem (incorrect format), so it's considered a miss and then new values are calculated and set (overwriting old ones).

      None of the 2 cases is ideal, because they leave orphaned information in the caches (that they may or may-not be cleaned, it depends of every store abilities, TTLs...).

      Note that this is not urgent at all, because current serializers and compressors seem to behave ok and detect the data is invalid... but this may lead to big problems if there is any serializer or compressor incorrectly doing assumptions and returning wrong data.

      So this is a proposal to, whenever a change in the configuration of a cache store instance is performed... lets always purge/clean its data.

      That way there won't be old data being left behind, neither forced recalculations caused by bad data/potential risks reading it. Just proper/real misses because we have cleaned the old information.

      Ciao

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              stronk7 Eloy Lafuente (stronk7)
              Participants:
              Component watchers:
              Matteo Scaramuccia, Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Sara Arjona (@sarjona), Víctor Déniz Falcón
              Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: