hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Franck Wolff (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPASYNC-21) Callback not notified when a server crash in the middle of a request
Date Thu, 05 Jul 2012 16:01:35 GMT

    [ https://issues.apache.org/jira/browse/HTTPASYNC-21?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13407231#comment-13407231
] 

Franck Wolff commented on HTTPASYNC-21:
---------------------------------------

Just made another test on a Linux box, same issue:

httpasyncclient-4.0-beta2-SNAPSHOT.jar (build #245) and HttpCore 4.2.1 / HttpClient 4.2.1
(as suggested).

# uname -a
Linux (server name...) 2.6.38.2-xxxx-std-ipv6-64-hz1000 #2 SMP Thu Aug 25 16:45:28 UTC 2011
x86_64 x86_64 x86_64 GNU/Linux

I have used the war in attachment (crash.war) deployed in a Tomcat 7.0.20 server. The servlet
is very simple (see CrashServlet.java), it just exits the JVM (and thus kills Tomcat) whenever
you try to access the http://localhost:8080/crash/ url (post or get).

With curl (after a short delay):

# curl http://localhost:8080/crash/
curl: (52) Empty reply from server

With the sample CrashClient (see attachment again), it never ends:

# java -cp .:httpclient-4.2.1.jar:httpcore-nio-4.2.1.jar:httpasyncclient-4.0-beta2-SNAPSHOT.jar:httpcore-4.2.1.jar:commons-codec-1.4.jar:commons-logging-1.1.1.jar
crash.Client
^C

I had to use the port 8888 on my Linux box, but I don't think this is relevant...

Hope this helps: I really want you to solve this issue ;)


                
> Callback not notified when a server crash in the middle of a request
> --------------------------------------------------------------------
>
>                 Key: HTTPASYNC-21
>                 URL: https://issues.apache.org/jira/browse/HTTPASYNC-21
>             Project: HttpComponents HttpAsyncClient
>          Issue Type: Bug
>    Affects Versions: 4.0-beta1
>         Environment: Mac OSX, Java 6
>            Reporter: Franck Wolff
>             Fix For: 4.0-beta2
>
>         Attachments: CrashClient.java, CrashServlet.java, crash.war
>
>
> When a server crash in the middle of a request, the FutureCallback associated with the
request is never notified. The same issue occurs in blocking mode, when waiting for a future.get()
answer.
> Here are simple steps to reproduce this issue:
> Client.java:
> ------------------------------------
> package test;
> import java.util.concurrent.Future;
> import org.apache.http.HttpResponse;
> import org.apache.http.client.methods.HttpPost;
> import org.apache.http.concurrent.FutureCallback;
> import org.apache.http.impl.nio.client.DefaultHttpAsyncClient;
> public class Client {
> 	public static void main(String[] args) throws Exception {
> 		DefaultHttpAsyncClient httpClient = new DefaultHttpAsyncClient();
> 		httpClient.start();
> 		HttpPost request = new HttpPost("http://localhost:8080/webapp/servlet");
> 		request.setHeader("Content-Type", "text/plain");
> 		final Future<HttpResponse> future = httpClient.execute(request, new FutureCallback<HttpResponse>()
{
> 			
> 			public void completed(HttpResponse response) {
> 				System.out.println("completed: " + response);
> 			}
> 			public void failed(Exception e) {
> 				e.printStackTrace();
> 			}
> 			public void cancelled() {
> 				System.out.println("cancelled");
> 			}
> 		});
> 		
> 		System.out.println("get: " + future.get());
> 		
> 		httpClient.shutdown();
> 	}
> }
> ------------------------------------
> Start a server in debug mode, with a breakpoint at the beginning of the doPost method
of the targeted servlet. Start the client and, when your breakpoint is activated, kill the
server. The client application will never end...
> Maybe I'm missing something but I would have thought that the failed handler would be
called in this case and that the get() call would throw an ExecutionException.
> Thanks.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message