Ticket #619 (new defect)

Opened 14 months ago

Last modified 14 months ago

too many open files exception

Reported by: fredj Owned by: jeichar
Priority: blocker Milestone:
Component: print Version: SVN
Keywords: Cc:
State:

Description

2011-03-24 11:57:02,336 [TP-Processor8] ERROR h.print.servlet.BaseMapServlet - Error while generating PDF
java.io.IOException: Too many open files
	at java.io.UnixFileSystem.createFileExclusively(Native Method)
	at java.io.File.checkAndCreate(File.java:1704)
	at java.io.File.createTempFile(File.java:1792)
	at org.mapfish.print.servlet.MapPrinterServlet.doCreatePDFFile(MapPrinterServlet.java:249)
	at org.mapfish.print.servlet.MapPrinterServlet.createPDF(MapPrinterServlet.java:144)
	at org.mapfish.print.servlet.MapPrinterServlet.doPost(MapPrinterServlet.java:77)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	at java.lang.Thread.run(Thread.java:662)

Change History

Changed 14 months ago by jeichar

Normally this issue is caused by a URL temporarily being broken or a proxy configuration issue. From what fred has said a restart has fixed the issue. I would guess that the problem was a temporary configuration issue with proxy or one of the map servers went down for a time.

I think what needs to be done is some research into detecting open connections and using better timeouts. Perhaps performing pings along side requests to ensure that a remote server cannot permanently take down a mapfish print server.

Note: See TracTickets for help on using tickets.