Errors: Internal error
Occasionally, when performing a search, the webUI immediately responds with "Errors: Internal error" in red. If you click Submit a couple more times it will usually work.
Here's a partial log. I'll send you the full log privately since it contains internal data.
- ERROR [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Utils.pm (725) Utils::ANON 17781 [undef] Peer 10.0.1.133 got error: Internal error at /usr/local/elsa/web/lib/Utils.pm line 724. Utils::ANON(undef, HASH(0x7f765bee7860)) called at /usr/local/share/perl5/AnyEvent/HTTP.pm line 695 AnyEvent::HTTP::_error(HASH(0x7f765bc27bd8), CODE(0x7f765beef320), HASH(0x7f765bee7860)) called at /usr/local/share/perl5/AnyEvent/HTTP.pm line 1160 AnyEvent::HTTP::ANON() called at /usr/local/lib64/perl5/AnyEvent/Socket.pm line 1001 AnyEvent::Socket::ANON called at /usr/local/lib64/perl5/AnyEvent.pm line 1305 AnyEvent::_postpone_exec(EV::Timer=SCALAR(0x7f7657ca9b40), 256) called at /usr/local/lib64/perl5/AnyEvent/Impl/EV.pm line 88 eval {...} called at /usr/local/lib64/perl5/AnyEvent/Impl/EV.pm line 88 AnyEvent::CondVar::Base::_wait(AnyEvent::CondVar=HASH(0x7f765600c9e8)) called at /usr/local/lib64/perl5/AnyEvent.pm line 1994 AnyEvent::CondVar::Base::recv(AnyEvent::CondVar=HASH(0x7f765600c9e8)) called at /usr/local/elsa/web/lib/View.pm line 166 View::ANON(CODE(0x7f7659a11e78)) called at /usr/local/share/perl5/Plack/Util.pm line 301 Plack::Util::ANON(CODE(0x7f765ba41908)) called at /usr/local/share/perl5/Plack/Util.pm line 301 Plack::Util::ANON(CODE(0x7f765b637900)) called at /usr/local/share/perl5/Plack/Handler/Apache2.pm line 89 Plack::Handler::Apache2::call_app("Plack::Handler::Apache2", Apache2::RequestRec=SCALAR(0x7f765b547050), CODE(0x7f765b58f648)) called at /usr/local/share/perl5/Plack/Handler/Apache2.pm line 126 Plack::Handler::Apache2::handler(Apache2::RequestRec=SCALAR(0x7f765b547050)) called at -e line 0 eval {...} called at -e line 0
- WARN [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Warnings.pm (18) Warnings::add_warning 17781 [undef] 500: Internal error, $VAR1 = undef;
- INFO [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Controller.pm (1614) Controller::ANON 17781 [undef] Query 770 returned 0 rows
- TRACE [2015/05/04 10:47:17] /usr/local/elsa/web/lib/Query.pm (251) Query::_set_time_taken 17781 [undef] Set time taken for query 770 to 78
Thanks for the submission. I'm pretty sure this is related to the various Apache weirdness I've seen with sharing database handles across Apache worker threads. The workaround (which I'll be merging soon) is to run ELSA using starman instead of Apache. Starman is a standalone web server for PSGI files and in addition to being faster, has a much more robust thread system than the Plack::Handler::Apache module. You can get starman with "sudo cpanm starman" and invoke with "starman --port 80 /usr/local/elsa/web/lib/Web.psgi" Can you give that a shot an see if it resolves the issue?
I installed Starman and so far, so good. Also, wow, it's much faster--really brings out the true nature and performance of ELSA. I'll play with it for around a week and report back with my experiences.
Unfortunately, the issue still persists even with Starman. The node that the data is on shows nothing in web.log when I perform the query from the main node. I'll send you the logs privately.
Ok, based on the logs you've sent me and going through the AnyEvent HTTP code, it looks like the error is a connection issue. Does it happen regularly enough to get a tcpdump?