Opened 4 weeks ago

Closed 4 weeks ago

Last modified 4 weeks ago

#1579 closed defect (fixed)

WGS FASTQ management wizard should use new API method for checking if a file exists

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: Reggie v4.54
Component: net.sf.basedb.reggie Keywords:
Cc:

Description

See #1578. The current method that opens a stream suffers from a problem that causes the wizard to crash if the number of scanned files is larger than the limit set by ulimit -n.

net.schmizz.sshj.sftp.SFTPException: Failure
        at net.schmizz.sshj.sftp.Response.error(Response.java:140)
        at net.schmizz.sshj.sftp.Response.ensurePacketTypeIs(Response.java:117)
        at net.schmizz.sshj.sftp.SFTPEngine.open(SFTPEngine.java:153)
        at net.schmizz.sshj.sftp.SFTPClient.open(SFTPClient.java:68)
        at net.schmizz.sshj.sftp.SFTPClient.open(SFTPClient.java:73)
        at net.sf.basedb.opengrid.AbstractSession.getRemoteInputStream(AbstractSession.java:408)
        at net.sf.basedb.opengrid.AbstractSession.readFile(AbstractSession.java:390)
        at net.sf.basedb.reggie.servlet.WgsFastqServlet.doPost(WgsFastqServlet.java:314)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:528)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
        at net.sf.basedb.clients.web.extensions.ServletWrapper.service(ServletWrapper.java:81)
        at net.sf.basedb.clients.web.servlet.ExtensionsServlet.doGet(ExtensionsServlet.java:121)
        at net.sf.basedb.clients.web.servlet.ExtensionsServlet.doPost(ExtensionsServlet.java:128)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:528)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
        at net.sf.basedb.clients.web.servlet.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:171)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
        at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:433)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Thread.java:833)
java.lang.RuntimeException: net.schmizz.sshj.sftp.SFTPException: Failure
        at net.sf.basedb.opengrid.AbstractSession.readFile(AbstractSession.java:395)
        at net.sf.basedb.reggie.servlet.WgsFastqServlet.doPost(WgsFastqServlet.java:314)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:528)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
        at net.sf.basedb.clients.web.extensions.ServletWrapper.service(ServletWrapper.java:81)
        at net.sf.basedb.clients.web.servlet.ExtensionsServlet.doGet(ExtensionsServlet.java:121)
        at net.sf.basedb.clients.web.servlet.ExtensionsServlet.doPost(ExtensionsServlet.java:128)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:528)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
        at net.sf.basedb.clients.web.servlet.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:171)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
        at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:433)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: net.schmizz.sshj.sftp.SFTPException: Failure
        at net.schmizz.sshj.sftp.Response.error(Response.java:140)
        at net.schmizz.sshj.sftp.Response.ensurePacketTypeIs(Response.java:117)
        at net.schmizz.sshj.sftp.SFTPEngine.open(SFTPEngine.java:153)
        at net.schmizz.sshj.sftp.SFTPClient.open(SFTPClient.java:68)
        at net.schmizz.sshj.sftp.SFTPClient.open(SFTPClient.java:73)
        at net.sf.basedb.opengrid.AbstractSession.getRemoteInputStream(AbstractSession.java:408)
        at net.sf.basedb.opengrid.AbstractSession.readFile(AbstractSession.java:390)
        ... 33 more

Change History (3)

comment:1 by Nicklas Nordborg, 4 weeks ago

Resolution: fixed
Status: newclosed

In 7637:

Fixes #1579: WGS FASTQ management wizard should use new API method for checking if a file exists

comment:2 by Nicklas Nordborg, 4 weeks ago

Milestone: Reggie v4.53.2Reggie v4.54

comment:3 by Nicklas Nordborg, 4 weeks ago

In 7638:

References #1579: WGS FASTQ management wizard should use new API method for checking if a file exists

We need the version 1.14 of the job scheduler extension.

Note: See TracTickets for help on using tickets.