I posted this to the user list and searched the archives to no avail , so I have looked at the source code and need to know if this is a feature or a bug as I'm not familiar with the AJP implementation.
I am using TC 3.2.3 w/IIS on Win2K I have a servlet that servers a large file (50MB). The problem is that when the user clicks cancel (or network problems occur), the servlet never gets notification that the client connection has been aborted. The following entries show up in the iis_redirect.log when the user cancels the download: [jk_isapi_plugin.c (355)]: jk_ws_service_t::write, WriteClient failed [jk_ajp12_worker.c (601)]: ajpv12_handle_response, error writing back to server then, when the request would have completed, these messages appear: [jk_ajp12_worker.c (595)]: ajpv12_handle_response, response body is done [jk_ajp12_worker.c (607)]: ajpv12_handle_response done [jk_isapi_plugin.c (551)]: HttpExtensionProc service() returned OK I have identified the code in the ISAPI filter which seems to be causing the problem. This is a snippet from ajpv12_handle_response() in jk_ajp12_worker.c: while(1) { unsigned to_read = READ_BUF_SIZE; unsigned acc = 0; char *buf = NULL; if(!jk_sb_read(&p->sb, &buf, to_read, &acc)) { jk_log(l, JK_LOG_ERROR, "ajpv12_handle_response, error reading from \n"); return JK_FALSE; } if(!acc) { jk_log(l, JK_LOG_DEBUG, "ajpv12_handle_response, response body is done\n"); break; } if(write_to_ws) { if(!s->write(s, buf, acc)) { jk_log(l, JK_LOG_ERROR, "ajpv12_handle_response, error writing back to server\n"); write_to_ws = JK_FALSE; } } What I noticed is that when an error occurs writing to the client, it still reads from tomcat, instead of closing the connection to tomcat which would give an IOException to my servlet. Not knowing the design of the jk modules, I didn't know if this is by design or a bug. I have tried the latest dll from the 3.3 branch(even though I am using 3.2.3) and it has the same problem. I also enabled AJP13 in my workers file, even though I remembered that only AJP12 is used in ISAPI filter. It didn't change anything. The reason that this is an issue is that I send an email upon completion of the download that should not be sent if it fails. Unfortunately I must use IIS to remain compatible with other websites. Charlie