Moodle
  1. Moodle
  2. MDL-41291

don't use filesize when reading from cache_filestore

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.4.5, 2.5
    • Fix Version/s: 2.4.6, 2.5.2
    • Component/s: Caching
    • Labels:
      None
    • Rank:
      52262

      Description

      cache_filestore has a hack, suggesting that PHPUnit tests fail, but normal operation is correct.

      My estimation of the situation is that under PHPUnit, clearstatcache() wasn't called at some point, which required the guess of the larger size. The current PHPUnit tests pass without the hack.

      However all this exposes the issue of race conditions and caching between what the filesize is and what's actually read. To remove that, we will not just use fread to collect all the data until the end of file is reached.

        Issue Links

          Activity

          Hide
          Matteo Scaramuccia added a comment -

          Hi Russel,
          in MDL-41058 you'll find a case (NFS-based dataroot) where this fix could fit too, maybe there it should be required some other improvements to avoid the usage of flock().

          Show
          Matteo Scaramuccia added a comment - Hi Russel, in MDL-41058 you'll find a case (NFS-based dataroot) where this fix could fit too, maybe there it should be required some other improvements to avoid the usage of flock() .
          Hide
          Sam Hemelryk added a comment -

          Looks superb thanks Russell and all unit tests passing.

          I've put this straight up for integration review, if you get a chance could you please produce stable branches.
          Integrator this cherry-picks cleanly.

          Many thanks
          Sam

          Show
          Sam Hemelryk added a comment - Looks superb thanks Russell and all unit tests passing. I've put this straight up for integration review, if you get a chance could you please produce stable branches. Integrator this cherry-picks cleanly. Many thanks Sam
          Hide
          Russell Smith added a comment -

          Added back-branches. These were clean cherry-picks of master.

          Show
          Russell Smith added a comment - Added back-branches. These were clean cherry-picks of master.
          Hide
          Dan Poltawski added a comment -

          Integrated to master, 25 and 24 - thanks Russell!

          Show
          Dan Poltawski added a comment - Integrated to master, 25 and 24 - thanks Russell!
          Hide
          Jason Fowler added a comment -

          Worked fine Russell. Thanks for the patch

          Show
          Jason Fowler added a comment - Worked fine Russell. Thanks for the patch
          Hide
          Damyon Wiese added a comment -

          There was a young man named McGee
          Who thought squashing bugs was easy
          He tried it one day
          And to his dismay
          The bug guts made his keyboard all greasy

          Thanks!

          This has issue has been fixed and released in Moodle.

          Show
          Damyon Wiese added a comment - There was a young man named McGee Who thought squashing bugs was easy He tried it one day And to his dismay The bug guts made his keyboard all greasy Thanks! This has issue has been fixed and released in Moodle.

            People

            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: