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

'Clear View cache from here' action ignores CacheThreshold setting, performance issues/db deadlocks

    Details

      Description

      Expiring view cache using the 'Delete view cache from here' menu option ignores the [ContentSettings],CacheThreshold setting.
      This can cause performance issues, and possibly even db deadlocks on sites with very large content trees and/or load.

      Steps to reproduce:
      • In site.ini, ContentSettings group, specify a low value for CacheThreshold (such as 25)
      • Enable kernel-content-edit condition in debug.ini
      • In the administration interface, click to view the root node; click class icon for the popup menu, and choose the 'Delete view cache from here' option.
      Result:

      The content objects will be cleared one by one, as can be verified in the debug log. sample:

      [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      2
      [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      2
      [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      3
      [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      2
      [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      2
      [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      5
      ... (repeated for the number of objects)
      

      Expected Result:

      The CacheThreshold should be met, and a 'global' expiry issued. sample debug:

      [ Sep 04 2013 20:02:37 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      2
      [ Sep 04 2013 20:02:38 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
      44
      [ Sep 04 2013 20:02:38 ] [192.168.56.1] eZContentCacheManager::clearObjectViewCacheArray:
      Expiring all view cache since list of nodes(44) exceeds site.ini\[ContentSettings]\CacheThreshold
      

        Issue Links

          Activity

          Joao Inacio (Inactive) created issue -
          Joao Inacio (Inactive) made changes -
          Field Original Value New Value
          Link This issue testing discovered EZP-21509 [ EZP-21509 ]
          Joao Inacio (Inactive) made changes -
          Link This issue relates to EZP-19544 [ EZP-19544 ]
          Joao Inacio (Inactive) made changes -
          Description The 'Clear View cache from here' action ignores CacheThreshold setting,
          causing performance issues and possibly db deadlocks on sites with very large content trees.
          Expiring view cache using the 'Delete view cache from here' menu option ignores the {{[ContentSettings]}},{{CacheThreshold}} setting.
          This can cause performance issues, and possibly even db deadlocks on sites with very large content trees and/or load.

          h5. Steps to reproduce:
          * In site.ini, ContentSettings group, specify a low value for CacheThreshold (such as 25)
          * Enable {{kernel-content-edit}} condition in debug.ini
          * In the administration interface, click to view the root node; click class icon for the popup menu, and choose the 'Delete view cache from here' option.

          h5. Result:
          The content objects will be cleared one by one, as can be verified in the debug log. sample:
          {code}
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          3
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          5
          ... (repeated for the number of objects)
          {code}

          h5. Expected Result:
          The CacheThreshold should be met, and a 'global' expiry issued. sample debug:
          {code}
          [ Sep 04 2013 20:02:37 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:02:38 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          44
          [ Sep 04 2013 20:02:38 ] [192.168.56.1] eZContentCacheManager::clearObjectViewCacheArray:
          Expiring all view cache since list of nodes(44) exceeds site.ini\[ContentSettings]\CacheThreshold
          {code}
          Joao Inacio (Inactive) made changes -
          Affects Version/s 5.1 [ 11280 ]
          Affects Version/s 5.0 [ 10300 ]
          Affects Version/s 4.7.0 [ 11010 ]
          Affects Version/s 4.6.0 [ 11005 ]
          Affects Version/s 5.2-dev [ 12300 ]
          Joao Inacio (Inactive) made changes -
          Status Open [ 1 ] Confirmed [ 10037 ]
          Joao Inacio (Inactive) made changes -
          Description Expiring view cache using the 'Delete view cache from here' menu option ignores the {{[ContentSettings]}},{{CacheThreshold}} setting.
          This can cause performance issues, and possibly even db deadlocks on sites with very large content trees and/or load.

          h5. Steps to reproduce:
          * In site.ini, ContentSettings group, specify a low value for CacheThreshold (such as 25)
          * Enable {{kernel-content-edit}} condition in debug.ini
          * In the administration interface, click to view the root node; click class icon for the popup menu, and choose the 'Delete view cache from here' option.

          h5. Result:
          The content objects will be cleared one by one, as can be verified in the debug log. sample:
          {code}
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          3
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          5
          ... (repeated for the number of objects)
          {code}

          h5. Expected Result:
          The CacheThreshold should be met, and a 'global' expiry issued. sample debug:
          {code}
          [ Sep 04 2013 20:02:37 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:02:38 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          44
          [ Sep 04 2013 20:02:38 ] [192.168.56.1] eZContentCacheManager::clearObjectViewCacheArray:
          Expiring all view cache since list of nodes(44) exceeds site.ini\[ContentSettings]\CacheThreshold
          {code}
          Expiring view cache using the 'Delete view cache from here' menu option ignores the {{[ContentSettings]}},{{CacheThreshold}} setting.
          This can cause performance issues, and possibly even db deadlocks on sites with very large content trees and/or load.

          h5. Steps to reproduce:
          * In site.ini, {{ContentSettings}} group, specify a low value for {{CacheThreshold}} (such as 25)
          * Enable {{kernel-content-edit}} condition in debug.ini
          * In the administration interface, click to view the root node; click class icon for the popup menu, and choose the 'Delete view cache from here' option.

          h5. Result:
          The content objects will be cleared one by one, as can be verified in the debug log. sample:
          {code}
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          3
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:01:50 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          5
          ... (repeated for the number of objects)
          {code}

          h5. Expected Result:
          The CacheThreshold should be met, and a 'global' expiry issued. sample debug:
          {code}
          [ Sep 04 2013 20:02:37 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          2
          [ Sep 04 2013 20:02:38 ] [192.168.56.1] count in nodeList <kernel-content-edit>:
          44
          [ Sep 04 2013 20:02:38 ] [192.168.56.1] eZContentCacheManager::clearObjectViewCacheArray:
          Expiring all view cache since list of nodes(44) exceeds site.ini\[ContentSettings]\CacheThreshold
          {code}
          André Rømcke made changes -
          Issue Type Bug [ 1 ] Improvement [ 4 ]
          Show
          André Rømcke added a comment - Merged in https://github.com/ezsystems/ezpublish-legacy/commit/23b55d9d6cbde1de538bdff1f0dd9d656dd2f7ab
          André Rømcke made changes -
          Status Confirmed [ 10037 ] Closed [ 6 ]
          Fix Version/s 5.2-beta1 [ 12684 ]
          Resolution Fixed [ 1 ]
          Joao Inacio (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Joao Inacio (Inactive) made changes -
          Status Reopened [ 4 ] Confirmed [ 10037 ]
          Joao Inacio (Inactive) made changes -
          Affects Version/s Customer request [ 11018 ]
          Joao Inacio (Inactive) made changes -
          Fix Version/s Customer request [ 11018 ]
          André Rømcke made changes -
          Status Confirmed [ 10037 ] InputQ [ 10001 ]
          Damien Pobel (Inactive) made changes -
          Status InputQ [ 10001 ] Development [ 3 ]
          Assignee Damien Pobel [ damien.pobel@ez.no ]
          Damien Pobel (Inactive) made changes -
          Status Development [ 3 ] Documentation done [ 10011 ]
          Fix Version/s 4.5 Maintenance [ 12585 ]
          Fix Version/s 4.6 Maintenance [ 12584 ]
          Fix Version/s 4.7 Maintenance [ 12583 ]
          Fix Version/s 5.0 Maintenance [ 11287 ]
          Fix Version/s 5.1 Maintenance [ 12301 ]
          Fix Version/s 5.2 [ 12582 ]
          Damien Pobel (Inactive) made changes -
          Status Documentation done [ 10011 ] Documentation [ 10010 ]
          Damien Pobel (Inactive) made changes -
          Status Documentation [ 10010 ] InputQ [ 10001 ]
          Assignee Damien Pobel [ damien.pobel@ez.no ]
          Damien Pobel (Inactive) made changes -
          Status InputQ [ 10001 ] Development [ 3 ]
          Assignee Damien Pobel [ damien.pobel@ez.no ]
          Damien Pobel (Inactive) made changes -
          Status Development [ 3 ] Documentation done [ 10011 ]
          Joao Pingo (Inactive) made changes -
          Status Documentation done [ 10011 ] QA [ 10008 ]
          Assignee Damien Pobel [ damien.pobel@ez.no ] Joao Pingo [ joao.pingo@ez.no ]
          Joao Pingo (Inactive) logged work - 07/Mar/14 6:01 PM
          • Time Spent:
            1 hour
             

            Testing

          Joao Pingo (Inactive) made changes -
          Remaining Estimate 0 minutes [ 0 ]
          Time Spent 1 hour [ 3600 ]
          Worklog Id 46225 [ 46225 ]
          Joao Pingo (Inactive) logged work - 10/Mar/14 1:00 AM
          • Time Spent:
            7 hours
             

            Closed

          Hide
          Joao Pingo (Inactive) added a comment - - edited
          Show
          Joao Pingo (Inactive) added a comment - - edited Tested on Master, 5.2, 5.1, 5.0, 4.7, 4.6 and 4.5 with tc-2001 Master - Passed Note: Not able to reproduce original issue, lots of patch reverting is needed, sanity check was run and behaviour is correct eZPublish 5.2 - Passed eZPublish 5.1 - Passed eZPublish 5.0 - Passed Patch from https://jira.ez.no/browse/EZP-21509 is needed https://github.com/ezsystems/ezpublish-legacy-ee/commit/12b22f2dd805fee3876873123a55d585e2ed86bd eZPublish 4.7 - Passed Patch’s from https://jira.ez.no/browse/EZP-19544 are needed https://github.com/ezsystems/ezpublish-legacy-ee/commit/8809cc https://github.com/ezsystems/ezpublish-legacy-ee/commit/861fd9c Note: https://github.com/ezsystems/ezpublish-legacy-ee/commit/5f828f39.diff is alredy present in a 4.7 with SP, possibly this was already distributed? eZPublish 4.6 - Passed Patch’s from https://jira.ez.no/browse/EZP-19544 are needed https://github.com/ezsystems/ezpublish-ee/commit/7853f2aae659d0142188f9b78773ce08a07400ec https://github.com/ezsystems/ezpublish-ee/commit/f456fe6 https://github.com/ezsystems/ezpublish-ee/commit/c9b3e9898b89395e7fd83d038bec7b9b0e1ab703 eZPublish 4.5 - Passed Patch’s from https://jira.ez.no/browse/EZP-19544 are needed https://github.com/ezsystems/ezpublish-legacy-ee/commit/a9f44dfd63fc3ae13f8aedb36148ad264a759179 https://github.com/ezsystems/ezpublish-legacy-ee/commit/486f3bb https://github.com/ezsystems/ezpublish-legacy-ee/commit/59761005f343de19075f02799c83bce6ae329667
          Hide
          Joao Pingo (Inactive) added a comment -

          QA Approved

          Show
          Joao Pingo (Inactive) added a comment - QA Approved
          Joao Pingo (Inactive) made changes -
          Assignee Joao Pingo [ joao.pingo@ez.no ]
          Status QA [ 10008 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Joao Pingo (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Joao Pingo (Inactive) made changes -
          Time Spent 1 hour [ 3600 ] 1 day [ 28800 ]
          Worklog Id 46237 [ 46237 ]
          Joao Pingo (Inactive) made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Jérôme Vieilledent (Inactive) made changes -
          Link This issue relates to EZP-22664 [ EZP-22664 ]
          André Rømcke made changes -
          Workflow eZ Engineering Scrumban Workflow [ 58103 ] EZ* Development Workflow [ 84195 ]
          Alex Schuster made changes -
          Workflow EZ* Development Workflow [ 84195 ] EZEE Development Workflow [ 122838 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Confirmed Confirmed
          19m 27s 1 joao.inacio@ez.no 04/Sep/13 11:18 PM
          Confirmed Confirmed Closed Closed
          12d 19h 23m 1 André Rømcke 17/Sep/13 6:41 PM
          Reopened Reopened Confirmed Confirmed
          4s 1 joao.inacio@ez.no 17/Sep/13 7:10 PM
          Confirmed Confirmed InputQ InputQ
          21d 19h 1m 1 André Rømcke 09/Oct/13 2:11 PM
          Documentation Review done Documentation Review done Documentation Documentation
          1m 32s 1 damien.pobel@ez.no 06/Mar/14 5:29 PM
          Documentation Documentation InputQ InputQ
          4s 1 damien.pobel@ez.no 06/Mar/14 5:29 PM
          InputQ InputQ Development Development
          148d 4h 15m 2 damien.pobel@ez.no 06/Mar/14 5:29 PM
          Development Development Documentation Review done Documentation Review done
          41s 2 damien.pobel@ez.no 06/Mar/14 5:29 PM
          Documentation Review done Documentation Review done QA QA
          1d 9m 1 Joao Pingo (Inactive) 07/Mar/14 5:38 PM
          QA QA Closed Closed
          2d 23h 41m 1 Joao Pingo (Inactive) 10/Mar/14 5:20 PM
          Closed Closed Reopened Reopened
          32m 42s 2 Joao Pingo (Inactive) 10/Mar/14 5:25 PM
          Reopened Reopened Closed Closed
          1s 1 Joao Pingo (Inactive) 10/Mar/14 5:25 PM

            People

            • Assignee:
              Unassigned
              Reporter:
              Joao Inacio (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day
                1d