From: tech.vronk <te...@vr...> - 2012-05-16 20:07:35
|
Hi, I have experienced quite problematic behaviour of the exist-db lately. I have the 2.0-tech-preview version running. After an (obviously) inefficient query that ran for ever, on next start the 'exist' instance" could not be found. It was not one specific queries, it's different queries on different datasets that cause it. Some of them use XUpdate (but not heavily, just to store the result of the processing). Perhaps the only thing they have in common is, that they use eval (heavily). And the database grew rather big, with around 200.000 documents the dom.dbx was 2.6 GB at last crash. The first two times I lost patience and tried first to kill the query in admin and then tried to stop the server. The last time I left it running, and it eventually returned HTTP 500 javax.servlet.ServletException: An error occurred: null at org.exist.http.servlets.EXistServlet.doGet(EXistServlet.java:279) .... with error: java.lang.IllegalStateException at org.eclipse.jetty.server.session.AbstractSession.checkValid(AbstractSession.java:91) at org.eclipse.jetty.server.session.HashedSession.checkValid(HashedSession.java:55) at org.eclipse.jetty.server.session.AbstractSession.setAttribute(AbstractSession.java:408) at org.exist.http.servlets.HttpSessionWrapper.setAttribute(HttpSessionWrapper.java:120) at org.exist.xquery.functions.xmldb.XMLDBAuthenticate.cacheUserInHttpSession(XMLDBAuthenticate.java:208) at org.exist.xquery.functions.xmldb.XMLDBAuthenticate.eval(XMLDBAuthenticate.java:183) at org.exist.xquery.BasicFunction.eval(BasicFunction.java:68) at org.exist.xquery.InternalFunctionCall.eval(InternalFunctionCall.java:55) I tried the basic RECOVERY steps (stop, remove *.lck, *.log, *.dbx (safe the three). Sometimes this did not help at all and the instance stayed unrecoverable. In some cases I was able to start the database again, but the security information seemed to have gone lost: I could access the admin-area (only) with empty password. (Probably therefore) I also wasn't able to access the database with the java-client: either getting: Wrong password error, when trying to use the "old" password. Or (when trying with empty password): XMLDBException occurred while retrieving collection: Failed to invoke method getPermissions in class org.exist.xmlrpc.RpcConnection: null Therefore I also wasn't able to run reindex, or manipulate the users and similar... (Or is there any other way to In this state I also got all kinds of errors in the admin area, for example when trying to access the INdexes or Collections panel And further work with the database was impossible Until now, the only solution for me, was to empty the whole data-folder and run a restore from last backup. But this costs hours every time, and makes the actual work quite impossible. Would be greatful for any ideas, advice. best, Matej |