Details
-
Bug
-
Resolution: Cannot Reproduce
-
High
-
None
-
5.4.7
-
None
Description
Steps to reproduce:
1. Prepare a test eZ Publish 5.4 installation, fully updated to the latest sub-version (currently 5.4.7) and set up in DFS cluster mode;
2. On the admin siteaccess, create a test image in media library e.g. "/Media/Images/mountain.png";
3. Create an article that uses that image, with a "medium" image alias;
4. The 'ezdfsfile' table will now have these entries for that image:
SELECT * FROM ezdfsfile WHERE name LIKE '%mountain.%'; +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+ | name | name_trunk | name_hash | datatype | scope | size | mtime | expired | status | +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+ | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png.png | 2d0c3993287e58876a35e297ea74b05b | image/png | image | 203450 | 1472748215 | 0 | 0 | | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_small.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_small.png | 715a59a9c63d61dc715dbbc4b696f31e | image/png | image | 6087 | 1472748222 | 0 | 0 | | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_reference.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_reference.png | 9fc3dcab7adcd497a0d5accd192ad523 | image/png | image | 179328 | 1472748222 | 0 | 0 | | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_medium.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_medium.png | b4b864be9203cb83989ab00d5ca96d16 | image/png | image | 21969 | 1472748433 | 0 | 0 | +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+ 4 rows in set (0.00 sec)
5. If the corresponding 'ezdfsfile' entry for the "medium" alias is expired i.e. 'ezdfsfile.expired' = 1, refreshing the frontend article that contains the image will unexpire it;
6. However, if the main image (in this case, "mountain.png.png") is also expired, that will no longer work, and it becomes impossible to unexpire the alias by refreshing the page;
SELECT * FROM ezdfsfile WHERE name LIKE '%mountain.%'; +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+ | name | name_trunk | name_hash | datatype | scope | size | mtime | expired | status | +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+ | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png.png | 2d0c3993287e58876a35e297ea74b05b | image/png | image | 203450 | 1472748215 | 1 | 0 | | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_small.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_small.png | 715a59a9c63d61dc715dbbc4b696f31e | image/png | image | 6087 | 1472748222 | 0 | 0 | | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_reference.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_reference.png | 9fc3dcab7adcd497a0d5accd192ad523 | image/png | image | 179328 | 1472748222 | 0 | 0 | | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_medium.png | var/ezdemo_site/storage/images/media/images/mountain.png/690-1-eng-GB/mountain.png_medium.png | b4b864be9203cb83989ab00d5ca96d16 | image/png | image | 44011 | 1472749486 | 1 | 0 | +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------+-----------+-------+--------+------------+---------+--------+ 4 rows in set (0.00 sec)
7. If you access the image directly in the URL, like this:
...an HTTP 500 error will be displayed, and this error will be generated in the symfony log:
CRITICAL - Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorException: "Error: Call to a member function getTimestamp() on a non-object" at /var/www/54ezdemodfs.com/vendor/ezsystems/ezpublish-kernel/eZ/Bundle/EzPublishIOBundle/BinaryStreamResponse.php line 102
Note: all image aliases exist in the file system.
Attachments
Issue Links
- relates to
-
EZP-25937 IO timestamp metadata index might be empty
- Closed
-
EZP-26175 Exception instead of 404 when trying to access a file stored with a non default vardir
- Closed
-
EZP-26071 [IO][S3] Don't load asset binary unless we need to create a variation
- Closed
- testing discovered
-
EZP-25991 Error in BinaryStreamResponse if the file's mtime isn't set
- Open