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

Image aliases not purged on DFS cluster

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Cannot Reproduce
    • Affects Version/s: 5.4.5
    • Fix Version/s: Customer request
    • Component/s: Misc
    • Labels:
      None
    • Environment:

      eZ Publish 5.4.5 in DFS cluster.

      Description

      Steps to reproduce:

      1. Prepare a new eZ Publish 5.4 installation, updated to 5.4.5;
      2. Set it up in DFS cluster mode.

      Ref:

      https://doc.ez.no/eZ-Publish/Technical-manual/5.x/Features/Clustering/Setting-it-up-for-an-eZDFSFileHandler
      https://doc.ez.no/display/EZP/Upgrading+DFS+cluster+to+5.4
      https://doc.ez.no/display/EZP/Legacy+DFS+cluster

      3. Define a new image alias in ezpublish.yml:

      ezpublish:
          system:
              default:
                  image_variations:
                      alias_test1:
                          reference: reference
                          filters:
                              - { name: geometry/scalewidth, params: [770] }
      

      4. On the admin SA, create a new article with image on an existing XML block field (used "body") that uses the newly defined "alias_test1" image alias;
      5. Check that the image alias was created on the NFS mount point. In this test, it was created on:

      ezpublish_legacy/var/nfs/var/ezdemo_site/storage/images/media/images/boat/656-1-eng-GB/boat_alias_test1.png
      

      6. Make sure the corresponding metadata was created on the 'ezdfsfile' table:

      SELECT * FROM ezdfsfile WHERE name LIKE '%alias%';
      +------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+
      | name                                                                               | name_trunk                                                                         | name_hash                        | datatype  | scope | size   | mtime      | expired | status |
      +------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+
      | var/ezdemo_site/storage/images/media/images/boat/656-1-eng-GB/boat_alias_test1.png | var/ezdemo_site/storage/images/media/images/boat/656-1-eng-GB/boat_alias_test1.png | b4f22a7de63e0cf16d83aa49324d1bf8 | image/png | image | 296971 | 1449097365 |       0 |      0 |
      +------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+
      1 row in set (0.08 sec)
      

      7. Purge image alias:

      php ezpublish/console liip:imagine:cache:remove --filters=alias_test1 -v
      

      Neither the NFS files nor the table record are deleted on the first time the command is issued. However, when the command is run for the second time, the 'ezdfsfile' record is deleted. The NFS files are still not deleted, though. After that, the results are the same, NFS files aren't deleted, but the corresponding 'ezdfsfile' metadata records are.

      For reference, here is the CLI output from the first time the image alias purging command was ran:

      $ php ezpublish/console liip:imagine:cache:remove --filters=alias_test1 -v
      [2015-12-03 00:05:48] php.INFO: The eZ\Bundle\EzPublishCoreBundle\ApiLoader\StorageConnectionFactory class extends Symfony\Component\DependencyInjection\ContainerAware that is deprecated since 
      
      version 2.8, to be removed in 3.0. Use the ContainerAwareTrait instead. 
      
      {"type":16384,"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php","line":200,"level":28928,"stack":
      
      [{"function":"handleError","class":"Symfony\\Component\\Debug\\ErrorHandler","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php","line":200,"function":"trigger_error"},{"function":"loadClass","class":"Symfony\
      
      \Component\\Debug\\DebugClassLoader","type":"->"},{"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":6536,"function":"spl_autoload_call"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php","line":312,"function":"getEzpublish_Persistence_Connection_FactoryService","cl
      
      ass":"ezpublishDevDebugProjectContainer","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":6523,"function":"get","class":"Symfony\\Component\\DependencyInjection\
      
      \Container","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php","line":312,"function":"getEzpublish_Persistence_ConnectionService","class":"ez
      
      publishDevDebugProjectContainer","type":"->"},{"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":2808,"function":"get","class":"Symfony\
      
      \Component\\DependencyInjection\\Container","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":2799,"function":"getEzpublish_Api_StorageEngine_Legacy_DbhandlerService","class":"ezpublishD
      
      evDebugProjectContainer","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":37550,"function":"{closure}","class":"ezpublishDevDebugProjectContainer","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":37550,"function":"__invoke","class":"Closure","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Imagine/VariationPurger/LegacyStorageImageFileRowReader.php","line":24,"function":"createSelectQuery","class":"eZPublishCorePersistenceDoctrineConnectionHa
      
      ndler_0000000039a53f1800000000774509e291e5f6d53dbd88733f2c04afcfab3dc1","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Imagine/VariationPurger/LegacyStorageImageFileList.php","line":73,"function":"init","class":"eZ\\Bundle\\EzPublishCoreBundle\\Imagine\\VariationPurger\
      
      \LegacyStorageImageFileRowReader","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Imagine/VariationPurger/ImageFileVariationPurger.php","line":48,"function":"rewind","class":"eZ\\Bundle\\EzPublishCoreBundle\\Imagine\\VariationPurger\
      
      \LegacyStorageImageFileList","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Imagine/IORepositoryResolver.php","line":127,"function":"purge","class":"eZ\\Bundle\\EzPublishCoreBundle\\Imagine\\VariationPurger\
      
      \ImageFileVariationPurger","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/liip/imagine-
      
      bundle/Liip/ImagineBundle/Imagine/Cache/CacheManager.php","line":261,"function":"remove","class":"eZ\\Bundle\\EzPublishCoreBundle\\Imagine\\IORepositoryResolver","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/liip/imagine-bundle/Liip/ImagineBundle/Command/RemoveCacheCommand.php","line":58,"function":"remove","class":"Liip\\ImagineBundle\\Imagine\\Cache\
      
      \CacheManager","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php","line":259,"function":"execute","class":"Liip\
      
      \ImagineBundle\\Command\\RemoveCacheCommand","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php","line":857,"function":"run","class":"Symfony\\Component\\Console\\Command\
      
      \Command","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php","line":192,"function":"doRunCommand","class":"Symfony\\Component
      
      \\Console\\Application","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php","line":98,"function":"doRun","class":"Symfony\\Component\\Console\
      
      \Application","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Console/Application.php","line":41,"function":"doRun","class":"Symfony\\Bundle\\FrameworkBundle\\Console\\Application","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php","line":123,"function":"doRun","class":"eZ\\Bundle\\EzPublishCoreBundle\\Console\
      
      \Application","type":"->"},{"file":"/var/www/54ezdemodfs.com/ezpublish/console","line":27,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"}]} 
      [2015-12-03 00:05:48] php.INFO: The eZ\Bundle\EzPublishIOBundle\ApiLoader\HandlerFactory class extends Symfony\Component\DependencyInjection\ContainerAware that is deprecated since version 
      
      2.8, to be removed in 3.0. Use the ContainerAwareTrait instead. 
      
      {"type":16384,"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php","line":200,"level":28928,"stack":
      
      [{"function":"handleError","class":"Symfony\\Component\\Debug\\ErrorHandler","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php","line":200,"function":"trigger_error"},{"function":"loadClass","class":"Symfony\
      
      \Component\\Debug\\DebugClassLoader","type":"->"},{"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":3458,"function":"spl_autoload_call"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php","line":312,"function":"getEzpublish_Core_Io_MetadataHandler_FactoryService","c
      
      lass":"ezpublishDevDebugProjectContainer","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":3445,"function":"get","class":"Symfony\\Component\\DependencyInjection\
      
      \Container","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php","line":312,"function":"getEzpublish_Core_Io_MetadataHandlerService","class":"e
      
      zpublishDevDebugProjectContainer","type":"->"},{"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":4320,"function":"get","class":"Symfony\
      
      \Component\\DependencyInjection\\Container","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":4311,"function":"getEzpublish_Fieldtype_Ezimage_IoService_PublishedService","class":"ezpubli
      
      shDevDebugProjectContainer","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":39110,"function":"{closure}","class":"ezpublishDevDebugProjectContainer","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":39110,"function":"__invoke","class":"Closure","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Publish/Core/FieldType/Image/IO/Legacy.php","line":119,"function":"exists","class":"eZPublishCoreIOTolerantIOService_0000000039a5230c00000000774509e291e5f6d53dbd88733f2c04afcfab3dc1"
      
      ,"type":"->"},{"file":"/var/www/54ezdemodfs.com/ezpublish/cache/dev/ezpublishDevDebugProjectContainer.php","line":38642,"function":"exists","class":"eZ\\Publish\\Core\\FieldType\\Image\\IO\
      
      \Legacy","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Imagine/VariationPurger/ImageFileVariationPurger.php","line":51,"function":"exists","class":"eZPublishCoreFieldTypeImageIOLegacy_0000000039a53c2e0000000077
      
      4509e291e5f6d53dbd88733f2c04afcfab3dc1","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Imagine/IORepositoryResolver.php","line":127,"function":"purge","class":"eZ\\Bundle\\EzPublishCoreBundle\\Imagine\\VariationPurger\
      
      \ImageFileVariationPurger","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/liip/imagine-
      
      bundle/Liip/ImagineBundle/Imagine/Cache/CacheManager.php","line":261,"function":"remove","class":"eZ\\Bundle\\EzPublishCoreBundle\\Imagine\\IORepositoryResolver","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/liip/imagine-bundle/Liip/ImagineBundle/Command/RemoveCacheCommand.php","line":58,"function":"remove","class":"Liip\\ImagineBundle\\Imagine\\Cache\
      
      \CacheManager","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php","line":259,"function":"execute","class":"Liip\
      
      \ImagineBundle\\Command\\RemoveCacheCommand","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php","line":857,"function":"run","class":"Symfony\\Component\\Console\\Command\
      
      \Command","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php","line":192,"function":"doRunCommand","class":"Symfony\\Component
      
      \\Console\\Application","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php","line":98,"function":"doRun","class":"Symfony\\Component\\Console\
      
      \Application","type":"->"},{"file":"/var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-
      
      kernel/eZ/Bundle/EzPublishCoreBundle/Console/Application.php","line":41,"function":"doRun","class":"Symfony\\Bundle\\FrameworkBundle\\Console\\Application","type":"->"},
      
      {"file":"/var/www/54ezdemodfs.com/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php","line":123,"function":"doRun","class":"eZ\\Bundle\\EzPublishCoreBundle\\Console\
      
      \Application","type":"->"},{"file":"/var/www/54ezdemodfs.com/ezpublish/console","line":27,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"}]} 
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                nuno.oliveira-obsolete@ez.no Nuno Oliveira (Inactive)
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: