We have an issue with 2 of our customers in eZ Publish 4.x with Cluster DFS. ( it's still true in 5.x )
Note that it's very very hard to reproduce excepted in production environment and high traffic.
We've already detected an issue identified here : https://jira.ez.no/browse/EZP-19688.
The fact is that we have sometimes some rows in the database with a mtime=0, and eZ believes the viewcache is always good, so a new publication doesn't regenerate the viewcache.
We've identified the query which is responsible, it is in the _endCacheGeneration method of kernel/private/classes/clusterfilehandlers/dfsbackends/mysqli.php
mtime and filesize are empty, the trace is :
But, theses values come from a previous query, above in the same method :
I think this query return an empty array (generatingMetaData) in the mysqli_fetch_assoc.
Then, the code enter in the "else" of this condition :
And in this "else", we are in the query we've detected.
What is the good correction, do we have yo call the rollback ?
Note: we already have to solution, I'm going to create the PR and comment this ticket.