-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
object-cache.php conflicts with third party plugins #612
Comments
@jamesozzie I debugged this thoroughly with W3 Total Cache. What happens depends much on the order of things: W3 Total Cache firstThis is the scenario for someone that was first using W3 Total Cache with object caching enabled (probably the more likely one when it comes to support requests).
Performance Lab first
So far, so good. Now the interesting thing is what happens at a point where both the Performance Lab timeout to try placing the file has expired while the W3 Total Cache timeout for the consent to replace the file is still active. At this point both plugins will try to place their files, almost in like a race condition. Because the logic for W3 Total Cache runs later, it'll replace PL's Other than that PR, the most appropriate step here would be to open an issue with W3 Total Cache on checking for whether their object cache logic is loaded/running before simply assuming it is not because the file they expect to be in a certain place is not in that place. I haven't done testing with LiteSpeed Cache yet, but I'd be pretty sure the issue there is along the same lines. |
Don't forget Till's Redis Object Cache, and my new SQLite Object Cache (to which I will add compatibility code when this PL (ab)use of the object_cache.php drop-in settles down. And, it has to be said, this approach isn't sustainable without adding a documented protocol for dropping drop-ins in. |
@OllieJones Fair points, let's discuss this a bit further. Potentially the only alternative here would be to just not place the PL I think the approach here does what we can, and we ensure things stay working. I stand by my point that other plugins likely use extremely strict checks for whether the correct file is in place, which are IMO overkill. But if this is a widely common problem, then we may still reconsider here. |
Bug Description
As highlighted by one user in the support forums, there is a conflict between the Performance Lab generated object-cache.php file and the same file generated by third party plugins.
The expected behavior with an additional object-cache.php file generated by another plugin (if the PL plugin is installed first):
Steps to reproduce
The same issue can be found if using LiteSpeed Cache and applying Object Caching (ListeSpeed Cache > Cache > Object > Object Cache > ON). For this plugin there is no conflict highlighted, instead the PL file is removed (recording of experience)
eF0WdP12Tn.mp4
The text was updated successfully, but these errors were encountered: