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

Too many places where `user-info-cache` can expire

    Details

    • Type: Improvement Improvement
    • Status: Confirmed
    • Priority: High High
    • Resolution: Unresolved
    • Affects Version/s: 5.4.5
    • Fix Version/s: Customer request
    • Component/s: Caching
    • Labels:
      None

      Description

      It's possible that the user-info-cache is expiring more than once in one process. There is no check, if it's expired already.

      So, there should be one place where the cache is expiring and there should be a check if it's already expired.

      • User case:

      If you have a large system with 10+ newspapers, async publisher running, various news importer running and you are publishing at least 200 objects / hour, the user info cache is not stable.

      So, it can happen that the user info cache is expiring more than once within a process (moving content, publishing content, add location / remove location etc.)

      The reason for this this: The different code places don't know each other.

      Current behavior:
      The `user-info-cache` can expire in many places.

      • `eZCache::clearUserInfoCache()` - `ezpublish_legacy/kernel/classes/ezcache.php`
      • `eZRole::revertFromTemporaryVersion()` - `ezpublish_legacy/kernel/classes/ezrole.php`
      • `eZUser::userInfoExpiry()` - `ezpublish_legacy/kernel/classes/datatypes/ezuser/ezuser.php`
      • `eZUser::cleanupCache()` - `ezpublish_legacy/kernel/classes/datatypes/ezuser/ezuser.php`

      Desired behavior:
      Only one place where the user info cache is expiring and if the user info cache is expired already, don't expire it again.

        Activity

        Nuno Oliveira (Inactive) created issue -
        Nuno Oliveira (Inactive) made changes -
        Field Original Value New Value
        Description It's possible that the user-info-cache is expiring more than once in one process. There is no check, if it's expired already.

        So, there should be one place where the cache is expiring and there should be a check if it's already expired.

        * User case:

        If you have a large system with 10+ news papers, async. publisher running, various news importer running and you are publishing at least 200 objects / hour, the user info cache is not stable.

        So, it can happen that the user info cache is expiring more than once within a process (moving content, publishing content, add location / remove location etc.)

        The reason for this this: The different code places don't know each other.

        Current behavior:
        The `user-info-cache` can expire in many places.

        * `eZCache::clearUserInfoCache()` - `ezpublish_legacy/kernel/classes/ezcache.php`
        * `eZRole::revertFromTemporaryVersion()` - `ezpublish_legacy/kernel/classes/ezrole.php`
        * `eZUser::userInfoExpiry()` - `ezpublish_legacy/kernel/classes/datatypes/ezuser/ezuser.php`
        * `eZUser::cleanupCache()` - `ezpublish_legacy/kernel/classes/datatypes/ezuser/ezuser.php`

        Desired behavior:
        Only one place where the user info cache is expiring and if the user info cache is expired already, don't expire it again.
        It's possible that the user-info-cache is expiring more than once in one process. There is no check, if it's expired already.

        So, there should be one place where the cache is expiring and there should be a check if it's already expired.

        * User case:

        If you have a large system with 10+ newspapers, async publisher running, various news importer running and you are publishing at least 200 objects / hour, the user info cache is not stable.

        So, it can happen that the user info cache is expiring more than once within a process (moving content, publishing content, add location / remove location etc.)

        The reason for this this: The different code places don't know each other.

        Current behavior:
        The `user-info-cache` can expire in many places.

        * `eZCache::clearUserInfoCache()` - `ezpublish_legacy/kernel/classes/ezcache.php`
        * `eZRole::revertFromTemporaryVersion()` - `ezpublish_legacy/kernel/classes/ezrole.php`
        * `eZUser::userInfoExpiry()` - `ezpublish_legacy/kernel/classes/datatypes/ezuser/ezuser.php`
        * `eZUser::cleanupCache()` - `ezpublish_legacy/kernel/classes/datatypes/ezuser/ezuser.php`

        Desired behavior:
        Only one place where the user info cache is expiring and if the user info cache is expired already, don't expire it again.
        Nuno Oliveira (Inactive) made changes -
        Status Open [ 1 ] Confirmed [ 10037 ]
        Joao Inacio (Inactive) made changes -
        Fix Version/s Customer request [ 11018 ]
        Alex Schuster made changes -
        Workflow EZ* Development Workflow [ 97915 ] EZEE Development Workflow [ 108683 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Confirmed Confirmed
        5m 13s 1 nuno.oliveira@ez.no 29/Feb/16 7:37 PM

          People

          • Assignee:
            Unassigned
            Reporter:
            Nuno Oliveira (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: