-
☆ A M B ☆
- 113 Posts
You can try this unofficial blow-up of xpdocachemanager.class.php out. Just change 8675309 in the sem_get functions to your own unique key. Does the key need to be unique for each file?
I now have it on all three sites I tried yesterday and they are operating without errors but that may just be because I broke flock not because I correctly implemented semaphor locking. Someone with more DEV experience than I will need to take a look at this.
[ed. note: pyrographics last edited this post 13 years, 9 months ago.]
-
MODX Staff
- 10,725 Posts
I believe the problem with the System V IPC functions are that there is no non-blocking way to test if a write lock can be acquired or not, which the current writeFile() implementation depends on being configurable. I am looking into writing a proper Read/Write Semaphore class that can be overridden by various implementations, e.g. flock, sem_get, etc., and that can handle blocking and non-blocking write requests in a configurable and more reliable way.
That said, I'll give this a few tests and see what we might be able to do here...
I'm looking forward to trying 2.2.7. I'm having the same issue as pyrographics, but I'm curious to see if anything resolves on one of our low-traffic sites.
Keep up the excellent work and research!
pyrographics... thanks for that.
I gave it a try on a couple of my modx sites. Deleted cache before applying the updated file.
modx manager doesn't function at all. No menus and does some strange things start to happen. Definitely not stable.
The front-end site works still but starts to get worse the more I reload pages etc...
Is this different to what you're experiencing?
I only ask as even though we are both on Rackspace. They applied 'a fix' to our cluster to help get modx working. One which they said they'd roll out to all once we could confirm everything was ok.
I don't know the specifics of this fix or whether its still enabled on our cluster.
Hence why I wondered if your experience was different.
regards,
Adam
-
☆ A M B ☆
- 113 Posts
Regarding my test file of semaphore locking, I put it on several sites without problem although one has still shown some cache errors. It probably won't work right if you turned off flock through the config since it ignores the existing non-flock workaround. It is 110% an experiment on my part so be careful with backing up first.
2.2.7 is not solving my issues. I've tried installing several times on this one site. I won't claim to even understand what most of you have been discussing as far as details of why this is all happening. But for me, on several of our sites, all it takes is simple edit and save and the things start failing. For us, it is always WayFinder and IF that fail and do not render at all. I use IF to place banners on the appropriate pages.
Now, if were simply just that as an issue then I could manually recreate the navigation and use CSS to put the right banners on the right pages. But our other issue is with the various browsers. FireFox always shows me something. It will render the site but without navigation and anything controlled by IF. But Chrome, IE, and Safari are not always consistent. They may half-render a site but they often give me a white screen and/or a 500 error.
Hope this info helps in some way.
Ok This is some undocumented advice... but I'm documenting it, so go figure.
If you have many sites.. or older sites that are working.. look at the IP they use in the DNS tab ... copy it. (but log the original).
No a quicktest is to update your own hosts file to use that IP for the site... so make a line for x.x.x.x your-domain.com www.yourdomain.com
give it a try. Google "Edit hosts file for <your operating system here>" if you need help doing that.
Now if you find better results with that ip, update the live site's dns to use it. If not, try another ... if still nothing, you're no worse off. I've done this to a few sites with some success.
-
MODX Staff
- 2,502 Posts
I just wanted to provide an update on things happening behind the scenes. Members of the Rackspace team have reached out to us and we're coordinating a review of this issue with their between MODX and their team. They are genuinely interested finding a solution to make MODX Revo work on their most popular platform.
This doesn't mean that the investigative work being done in this thread shouldn't continue as any isolation or narrowing of issues will speed the resolution.
All the best,
Jay
Author of zero books. Formerly of many strange things. Pairs well with meats. Conversations are magical experiences. He's dangerous around code but a markup
magician.
Blog ✦
Twitter ✦
LinkedIn ✦
GitHub