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

Oleg Kalnichevski edited comment on HTTPCLIENT-1572 at 10/17/14 6:59 PM:
-------------------------------------------------------------------------

Filip

The main purpose of the #abort method is to ensure the #execute method does not 
get blocked in an I/O operation and terminates as soon as possible. 
RequestAbortedException is thrown only to interrupt the normal execution flow. 
If the #execute is not going to get blocked in an I/O operation (for instance 
if a response head has already been received) there is no need to throw 
RequestAbortedException. This is precisely the case with your test application.

{noformat}
[DEBUG] wire - http-outgoing-0 >> "GET /test HTTP/1.1[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "Host: localhost:8000[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.3.5 (java 
1.5)[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "Date: Fri, 17 Oct 2014 18:26:18 GMT[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "Content-length: 42[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "[\r][\n]"
Caught: java.lang.RuntimeException: NOT OK
java.lang.RuntimeException: NOT OK
{noformat}

Oleg


was (Author: olegk):
{noformat}
[DEBUG] wire - http-outgoing-0 >> "GET /test HTTP/1.1[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "Host: localhost:8000[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.3.5 (java 
1.5)[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
[DEBUG] wire - http-outgoing-0 >> "[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "Date: Fri, 17 Oct 2014 18:26:18 GMT[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "Content-length: 42[\r][\n]"
[DEBUG] wire - http-outgoing-0 << "[\r][\n]"
Caught: java.lang.RuntimeException: NOT OK
java.lang.RuntimeException: NOT OK
{noformat}

> Aborting request execution doesn't throw RequestAbortedException
> ----------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1572
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1572
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>    Affects Versions: 4.3.3
>         Environment: gradle dependencies: 
> compile 'org.apache.httpcomponents:httpclient:4.3.3'
> compile 'org.codehaus.groovy:groovy-all:2.3.6'
> $ java -version
> java version "1.7.0_51"
> Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
> Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
> $ uname -a
> Linux phill-kubuntu-pc 3.13.0-38-generic #65-Ubuntu SMP Thu Oct 9 11:36:50 
> UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Filip Malczak
>            Priority: Minor
>         Attachments: MyHandler.groovy, Test.groovy
>
>
> I'm trying to create some fluent API for HttpClient for Groovy. While 
> implementing hard timeout for requests in this API, I found out that 
> HttpRequestBase.abort() doesn't always throw RequestAbortedException.
> This may be my misunderstanding of HC API, or bug.
> I attach two files used to specific situation when this occurs. Client, 
> request configs, etc are constructed so explicitly to mirror structure and 
> logic of my wrapper.
> I know that implementation of mock server with com.sun.net packages is wrong, 
> but this is example case.
> I wasn't sure what component to attach this issue to, if you do, fix this, 
> please.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to