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

Allow multiple MUC instances on one memcached server using cachestore_memcache

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Critical
    • Resolution: Won't Fix
    • Affects Version/s: 2.5.5, 2.6.2, 2.6.5, 2.7.2, 2.8
    • Fix Version/s: None
    • Component/s: Caching
    • Labels:
    • Testing Instructions:
      Hide
      1. Setup different Moodles in the same memcache store
      2. Purge caches of one of the Moodles
      3. Confirm that the other Moodle has its cache intact
      4. Create a course (one section of the cache will be purged)
      5. Confirm that the whole cache is not being purged
      Show
      Setup different Moodles in the same memcache store Purge caches of one of the Moodles Confirm that the other Moodle has its cache intact Create a course (one section of the cache will be purged) Confirm that the whole cache is not being purged
    • Workaround:
      1. Setup different memcache backends for different stores
      2. Don't use memcache store for high-purge caches
      3. Write a custom plugin which ignores purges at own risk
    • Difficulty:
      Moderate
    • Affected Branches:
      MOODLE_25_STABLE, MOODLE_26_STABLE, MOODLE_27_STABLE, MOODLE_28_STABLE
    • Pull Master Branch:
      MDL-45375_master

      Description

      memecache_store::purge() calls Memcache::flush() which wipes everything stored on that memcache server, not just the one MUC cache you think you are purging.

      In Moodle 2.6, where modinfo is stored in MUC, this can cause big performance blips. (See the graph in http://tjhunt.blogspot.co.uk/2014/04/load-testing-moodle-262-at-ou.html)

      Worse, if you are storing user sessions in the same Memcache store as MUC data, this can cause everyone to be logged out.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                13 Vote for this issue
                Watchers:
                21 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: