|
[
Permalink
| « Hide
]
Martin Dougiamas added a comment - 03/Apr/08 09:29 AM
Valery, any ideas?
These are the quite opaque Zend exceptino reporting we all fear to receive one day ?:->!
I will check ASAP if the code of the chat module is Ok for indexing contents. Maybe I suspect some empty content being indexed. I'll search in. We are seeing the same issue. I finally tracked it down to an eAccellerator bug.
http://eaccelerator.net/ticket/248 Looks like there may be a fix for Lucene in the upstream feed. Not sure if this impacts other accellerators. But lots of Moodle users seem to be using eAccellerator and are probably running into this issue. What package level of eAccelerator are you using ?
we are using http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2 for Debian Etch and having no noticed this error (here is the report of our indexing base) Base de données mdl_block_search_documents We appear to be on the same version. 0.9.5.3. I just turned it back on to see the version reporting from phpinfo and they match.
We did run into an issue in the past that if phpsuexec is enabled it blocks eaccelleartor from being active. is there any chance that is happening on your setup? I just retested it by turning it back on and it doesn't work. Disabled it again and the indexer worked immediately. Maybe there is something particular to our setup that is throwing an exception that is silently dealt with without the eaccel exception bug active. I have tried this on two separate servers on 1.9 base code, including latest CVS from today and it seems pretty consistent for our setup centos 4.x We are running e-accelerator on all of our servers, so that would explain it. The one I've been testing on is running php 5.2.6 wih e-accelerator version 0.9.5.3. With e-accelerator switched off indexing and searching works fine.
The bug report you mentioned said something about the problem being fixed "in the next mini release", which as far as I can see IS 0.9.5.3 - anyone else running e-accelerator and got this working? If so, what version, the development snapshot? The latest snapshot I can find is versioned as 0.9.6 - so maybe worth trying. I'll compile it up and give it a try and report back. Sean K Well, that didn't work. I downloaded the latest 0.9.6 snapshot and compiled and installed it as normal - but it breaks PHP - it segfaults as soon as you try and use it.
The size of the library file is only about 60% of the one compiled for 0.9.5.3, so maybe there is something wrong with the source at the moment? Would be good to get this fixed. If I get a chance I'll try APC instead, but I've never had all that much luck with it so far. Sean K Ok, me again. Still no joy with e-accelerator, but I have just successfully compiled and installed apc 3.0.19 from pecl.php.net - it is enabled and working without errors and indexer and search still work.
So it looks like I might have to pull e-accelerator and replace with apc on our servers if we are to get global search to work...unless the e-accelerator people put that fix in really soon...as more and more people are asking us about global search. The only problem with the above is that you need to have apxs present on your system (it is part of the httpd-devel package) and this can entail installing a few more things as prerequisites of httpd-devel, such as openldap, db4 and a couple of other things. I'm guessing that once you have the apc.so file, you don't need the rest, so you could probably compile the module on one machine and distribute to all the others (as long as you are running the same versions of Apache and PHP on all of those other machines). I will test out this theory and report back. Sean K I think the reference to a "fix" at the eaccellerator site was actually someone posting a fix to the Lucene upstream code to make it work around the bug in eaccelerator.
Right, I tried copying the apc.so library file across to another server that previously had e-accelerator running, and disabled e-accelerator, and enabled apc. It seems to work ok. This machine is running php 5.2.6, the same as the machine I compiled the extension on, but is running Apache 2.0.52 rather than 2.0.59 - it still seems to work OK. And this machine does not have all the httpd-devel stuff on it.
So, it looks like apc might be a viable alternative. I'm going to watch it for a while for performance, and see what happens. Sean K Well, we've been using APC sucessfully for six months or so now, so I'd say that for us anyway,m the issue is no longer relevant.
It would be nice to see this fixed before global search goes out of experimental. eAccellarator is a pretty common optimization. In particular doesn't this defualt to on in some XAMPP builds? Seems like we will have a lot of support problems in the community if this goes into stable without a fix.
Good point. I've not looked at e-accelerator and recent PHP releases since we went to APC, so I'm not currently in a position to test this. But it is still either a problem with PHP's Lucene code or e-accelerator as far as I know. So it isn't really a moodle problem as such.
Unless the global search code can do some kind of conditional check and apply a work-around if the troublesome eaccelerator / PHP version combination is found? Sean K Thanks guys for the track.
I'm neither in real position to make such experimentations, but will straight available to include any change in code that could improve the process. I'm using the global search engine upon eAccelerator on both Debian and RedHat 5.0 distribs without apparent issues so it is a very "environment bound" problem. Cheers. Valery. I second Valery's thanks to those and especially to Jonathan for tracking down this issue. Especially considering that I am experiencing it on one of my production sites (well one that is ready to go into production - we are still putting the finishing touches on things) is now experiencing this. I was going to suggest APC and am happy to hear that some testing with APC has proven successful for Sean. While I hope that eAccelerator does manage to work it out so that folks have a choice, I have preferred APC on my other sites in part because it is slated (so I've heard) to be included as standard for PHP6. At some point I was chatting with Martin Langhoff about getting things in Moodle setup to take advantage of APC but I forget how or if that issue was resolved. I'm going to go ahead and link to that issue as folks experiencing this option may want to vote or at least be aware of the need for the APC plugin. Peace - Anthony
For those considering switching to APC, I figured they may want to be aware of this issue. Peace - Anthony
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||