Hello all ,

i have some problem using the HttpClient protocol handlers from 2.0.0 M1 (from 
5/12/2007) .
i'm creating a kind of HTTP load tool which have around 10 threads using 1000 
and more connections
to send HTTP request at a fixed rate (xxx TPS)

on low/medium traffic there is now problem but on high TPS rates when using 
multible connections i get 
decode errors like :

2007-12-06 19:45:17,390|main|WARN |minaHTTPLoad.run(39)|banging
2007-12-06 
19:45:20,723|pool-4-thread-1|ERROR|HTTPAgent.exceptionCaught(59)|error 
:Unsupported HTTP version:  (Hexdump: 00 A1 00 00 00 00 00 80 80 80 BF ... )
        at 
org.apache.mina.filter.codec.http.HttpCodecUtils.throwDecoderException(HttpCodecUtils.java:156)
        at 
org.apache.mina.filter.codec.http.HttpVersionDecodingState$1.finishDecode(HttpVersionDecodingState.java:46)
        at 
org.apache.mina.filter.codec.statemachine.ConsumeToDynamicTerminatorDecodingState.decode(ConsumeToDynamicTerminatorDecodingState.java:83)
        at 
org.apache.mina.filter.codec.http.HttpVersionDecodingState.decode(HttpVersionDecodingState.java:62)
        at 
org.apache.mina.filter.codec.statemachine.DecodingStateMachine.decode(DecodingStateMachine.java:77)
        ....
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

the request i send is http://<server>/gif/l_arrow.gif

now from the hexdump it seems that the decoder is decoding the gif data as the 
first HTTP response line.
i checked the communication with wireshark , and response of the apache server 
was OK.
i use HTTP keep-alive .

i tried to "lock" the sending thread until the response of the previous request 
was recieved. this helps a bit but there are still some Exceptions.
main disadvantage is ofcourse  that it also "blocks" my thread so , NIO (non 
blocking IO) is not really the case here.

Is this a know issue with the current MINA 2.0.0 code base ?

        luc


Reply via email to