I am running Tomcat 8.0.20 in Ubuntu with Java 1.8u45 This server runs in Amazon EC2 behind an ELB (load balancer), although the cluster size is just one server.
My application allows to download some data in CSV format. The CSV data is generated on the fly, and there is no way to known in advance the size of the response. So, the data is an attachment. response.setContentType("text/csv;charset=utf-8"); filename = "data.csv" response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + ".csv\""); The download starts immediately but after 100 MB the browser stopped received data -my internet connection was not the best-, so I canceled the download as it was not progressing anymore. Nevertheless, my web app keeps generating the CSV data, unaware that the connection has been dropped. I was expecting that my code would get an IOException when writing to the servlet OutputStream (which was wrapped by a BufferedOutputStream and wrapped by an OutputStreamWriter). Is this a problem I can solve through the configuration of the NIO connector ? Or is this a problem of Amazon ELB that still consumes the stream even though it can't be forwarded to the browser anymore? I don't remember having this problem when working with Apache HTTP as the load balancer. If I remember correctly, I would get an error indicating that the client closed the connection. Any pointers are appreciated. -Jorge