Search code examples
timeoutrdftomcat6workbench

openrdf-workbench gives server error when trying to clear repo


Distro: Centos-6.3
Tomcat V6
Open-Rdf V-2.8.10

I have a quite large repo in Openrdf. The uploaded triple file is almost 1 G. I can't see numbers of statement in workbench due to timeout. I want to clear the repo but I'm, getting a 500 error.

root cause

org.openrdf.repository.RepositoryException: org.openrdf.repository.RepositoryException: transaction with id 2dd1518b-3060-49ff-a34b-09cf27346fd0 not registered. org.openrdf.repository.http.HTTPRepositoryConnection.rollback(HTTPRepositoryConnection.java:369) org.openrdf.repository.http.HTTPRepositoryConnection.close(HTTPRepositoryConnection.java:385) org.openrdf.workbench.commands.RemoveServlet.doPost(RemoveServlet.java:69) org.openrdf.workbench.base.TransformationServlet.service(TransformationServlet.java:106) org.openrdf.workbench.base.BaseServlet.service(BaseServlet.java:141) org.openrdf.workbench.proxy.ProxyRepositoryServlet.service(ProxyRepositoryServlet.java:104) org.openrdf.workbench.proxy.WorkbenchServlet.service(WorkbenchServlet.java:222) org.openrdf.workbench.proxy.WorkbenchServlet.handleRequest(WorkbenchServlet.java:151) org.openrdf.workbench.proxy.WorkbenchServlet.service(WorkbenchServlet.java:119) org.openrdf.workbench.proxy.WorkbenchGateway.service(WorkbenchGateway.java:131) org.openrdf.workbench.base.BaseServlet.service(BaseServlet.java:141) org.openrdf.workbench.proxy.CacheFilter.doFilter(CacheFilter.java:75) org.openrdf.workbench.proxy.CookieCacheControlFilter.doFilter(CookieCacheControlFilter.java:63)

I'm suspecting that tomcat is timing out or workbench is. Anyone know where I can set the timeout limit?

Is it in web.xml under /tomcat6/webapps/host-manager/WEB-INF or /tomcat6/webapps/manager/WEB_INF/ or /tomcat6/webapps/openrdf-sesame/WEB-INF or /tomcat6/webapps/openrdf-workbench ? Or maybe none of the listed. And what should I put in the file? I hope someone can guide me in the right direction.


Solution

  • This is a known issue in Sesame 2.8.10 / later, see https://github.com/eclipse/rdf4j/issues/91 . A fix is being worked on. Currently the only two workarounds are:

    1. delete and then re-create the repository;
    2. set the sesame.server.txn.registry.timeout system parameter to a higher timeout value (default value is 60 seconds).