Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-13838

Concurrent read on view cache file fails

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • 4.1.0alpha2
    • 4.0.1
    • Caching
    • None
    • Operating System: Mandriva linux 2008 spring free
      PHP Version: 4.0.1
      Database and version: MySQL 5.0.51a
      Browser (and version): Firefox 3.0.3

    Description

      Read on view cache file may fail if an other process is generating it concurrently. This issue may result in incomplete or empty page. However, after refreshing the browser page, this issue may be self-fixed.

      The possible cause is:

      unserialize()

      function returns FALSE under such condition.

      Here is the code snippet from kernel/classes/eznodeviewfunction.php

      $contents = file_get_contents( $file );
      $Result = unserialize( $contents );
      

      The possible solutions might be:

      1. Adding shared lock before read, but it does not work over NFS.

      2. Adding an endless loop to do sleep/retry

      Please advise if there is any workaround to fix this issue.

      Many thanks in advance,

      Michael

      Steps to reproduce

      Open a browser and access a complicated page, then try to click the refresh button quickly for several times, an empty or incomplete page shows up randomly.

      Attachments

        Activity

          People

            Unassigned Unassigned
            zerustech zerustech
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: