bash-4.2$ curl https://www.ebi.ac.uk/interpro/match-lookup/matches?md5=2E38C8D754C63117A4FA5F5E44F2194E
<!doctype html><html lang="en"><head><title>HTTP Status 500 – Internal Server Error</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 500 – Internal Server Error</h1><hr class="line" /><p><b>Type</b> Exception Report</p><p><b>Message</b> Request processing failed; nested exception is com.sleepycat.je.EnvironmentFailureException: (JE 18.3.12) Environment must be closed, caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 18.3.12) /net/isilonP/public/rw/webadmin/tomcat/bases/interpro/tc-ipr-precalc/deploy/data/match_db Latch timeout. BIN3561290 currentThread: Thread[http-nio-8100-exec-390,5,main] currentTime: 1723060458282 exclusiveOwner: -none- UNEXPECTED_STATE_FATAL: Unexpected internal state, unable to continue. Environment is invalid and must be closed.</p><p><b>Description</b> The server encountered an unexpected condition that prevented it from fulfilling the request.</p><p><b>Exception</b></p><pre>org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.sleepycat.je.EnvironmentFailureException: (JE 18.3.12) Environment must be closed, caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 18.3.12) /net/isilonP/public/rw/webadmin/tomcat/bases/interpro/tc-ipr-precalc/deploy/data/match_db Latch timeout. BIN3561290 currentThread: Thread[http-nio-8100-exec-390,5,main] currentTime: 1723060458282 exclusiveOwner: -none- UNEXPECTED_STATE_FATAL: Unexpected internal state, unable to continue. Environment is invalid and must be closed.
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
</pre><p><b>Root Cause</b></p><pre>com.sleepycat.je.EnvironmentFailureException: (JE 18.3.12) Environment must be closed, caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 18.3.12) /net/isilonP/public/rw/webadmin/tomcat/bases/interpro/tc-ipr-precalc/deploy/data/match_db Latch timeout. BIN3561290 currentThread: Thread[http-nio-8100-exec-390,5,main] currentTime: 1723060458282 exclusiveOwner: -none- UNEXPECTED_STATE_FATAL: Unexpected internal state, unable to continue. Environment is invalid and must be closed.
com.sleepycat.je.EnvironmentFailureException.wrapSelf(EnvironmentFailureException.java:230)
com.sleepycat.je.dbi.EnvironmentImpl.checkIfInvalid(EnvironmentImpl.java:1835)
com.sleepycat.je.dbi.EnvironmentImpl.checkOpen(EnvironmentImpl.java:1844)
com.sleepycat.je.Environment.checkOpen(Environment.java:2697)
com.sleepycat.je.Database.checkEnv(Database.java:2413)
com.sleepycat.je.Database.openCursor(Database.java:939)
com.sleepycat.je.SecondaryDatabase.openCursor(SecondaryDatabase.java:697)
com.sleepycat.je.SecondaryDatabase.openCursor(SecondaryDatabase.java:137)
com.sleepycat.persist.BasicIndex.cursor(BasicIndex.java:281)
com.sleepycat.persist.BasicIndex.cursor(BasicIndex.java:272)
com.sleepycat.persist.BasicIndex.entities(BasicIndex.java:235)
com.sleepycat.persist.SecondaryIndex.entities(SecondaryIndex.java:782)
uk.ac.ebi.interpro.scan.precalc.server.service.impl.MatchesServiceImpl.getMatches(MatchesServiceImpl.java:142)
uk.ac.ebi.interpro.scan.precalc.server.web.MatchesController.getMatches(MatchesController.java:57)
jdk.internal.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base/java.lang.reflect.Method.invoke(Method.java:566)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
</pre><p><b>Root Cause</b></p><pre>com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 18.3.12) /net/isilonP/public/rw/webadmin/tomcat/bases/interpro/tc-ipr-precalc/deploy/data/match_db Latch timeout. BIN3561290 currentThread: Thread[http-nio-8100-exec-390,5,main] currentTime: 1723060458282 exclusiveOwner: -none- UNEXPECTED_STATE_FATAL: Unexpected internal state, unable to continue. Environment is invalid and must be closed.
com.sleepycat.je.EnvironmentFailureException.unexpectedState(EnvironmentFailureException.java:459)
com.sleepycat.je.latch.LatchSupport.handleTimeout(LatchSupport.java:211)
com.sleepycat.je.latch.LatchImpl.acquireExclusive(LatchImpl.java:63)
com.sleepycat.je.latch.LatchImpl.acquireShared(LatchImpl.java:107)
com.sleepycat.je.tree.IN.latchShared(IN.java:563)
com.sleepycat.je.tree.Tree.latchChildShared(Tree.java:353)
com.sleepycat.je.tree.Tree.search(Tree.java:2255)
com.sleepycat.je.tree.Tree.search(Tree.java:2152)
com.sleepycat.je.dbi.CursorImpl.searchExact(CursorImpl.java:1972)
com.sleepycat.je.Cursor.readPrimaryAfterGet(Cursor.java:4943)
com.sleepycat.je.SecondaryCursor.readPrimaryAfterGet(SecondaryCursor.java:1734)
com.sleepycat.je.SecondaryCursor.search(SecondaryCursor.java:1535)
com.sleepycat.je.SecondaryCursor.getInternal(SecondaryCursor.java:584)
com.sleepycat.je.SecondaryCursor.get(SecondaryCursor.java:532)
com.sleepycat.util.keyrange.RangeCursor.doGetSearchKeyRange(RangeCursor.java:1356)
com.sleepycat.util.keyrange.RangeCursor.getFirst(RangeCursor.java:322)
com.sleepycat.util.keyrange.RangeCursor.getNext(RangeCursor.java:620)
com.sleepycat.persist.BasicCursor.next(BasicCursor.java:103)
com.sleepycat.persist.BasicCursor.next(BasicCursor.java:96)
uk.ac.ebi.interpro.scan.precalc.server.service.impl.MatchesServiceImpl.getMatches(MatchesServiceImpl.java:145)
uk.ac.ebi.interpro.scan.precalc.server.web.MatchesController.getMatches(MatchesController.java:57)
jdk.internal.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base/java.lang.reflect.Method.invoke(Method.java:566)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
</pre><p><b>Note</b> The full stack trace of the root cause is available in the server logs.</p><hr class="line" /><h3>Apache Tomcat/9.0.21</h3></body></html>bash-4.2$
My configuration is "default", as follows:
####################################
# Precalculated match lookup service
####################################
# By default, if the sequence already has matches available from the EBI, this service will look them
# up for you. Note: at present it will always return all the available matches, ignoring any -appl options
# set on the command line
precalculated.match.lookup.service.url=https://www.ebi.ac.uk/interpro/match-lookup
precalculated.match.protein.lookup.batch.size=100
precalculated.match.protein.insert.batch.size=500
precalculated.match.protein.insert.batch.size.nolookup=4000
# Proxy set up
precalculated.match.lookup.service.proxy.host=
precalculated.match.lookup.service.proxy.port=3128
With interproscan-5.69-101.0, I can successfuly run the following test:
And aprox 1 time out of 3, I get this failure:
My configuration is "default", as follows: