Mattias Jiderhamn wrote:
> Scott, I notice that in com.caucho.hessian.server.HessianSkeleton
> there are lots of out.close() but no out.flush(). Could unflushed
> buffers be what is causing this?
> At least then difference in output size could explain why it works
> sometimes on the production server and always in test environment.
>
> (There is a 200 status in the server log regardless of the result on
> the client and the size of the response is about 200 kB)
I wouldn't think that would make a difference, as long as the
flush/close for the request always occurs at the end of the request.
The 4.0.3 hessian did change the i/o handling, because of the URL
disconnect() that I'd added for testing purposes (the 4.0.3 change
generalized the http connection and made it pluggable.) It's possible
the disconnect() was causing problems, which might not be a problem in
the new version.
-- Scott
>
>
>
> Mattias Jiderhamn wrote (2010-01-08 21:24):
>> I was able to see the error myself today. It occurs within 3 seconds
>> from the Hessian call, so I doubt this is some kind of timeout issue.
>>
>> I can't see any traces of this on the server side.
>>
>> Any other ideas???
>> Should I add some debugging code somewhere?
>>
>>
>>
>> Scott Ferguson wrote (2009-12-16 15:56):
>>> Mattias Jiderhamn wrote:
>>>
Nope - standalone Resin.
>>> It would be a different issue. This looks like a timeout issue, while
>>> the previous one was a protocol problem.
>>>
>>> On the server side, are you seeing any timeout of that connection? Or
>>> does changing the socket-timeout avoid the issue?
>>>
>>> -- Scott
>>>
Wesley Wu wrote (2009-12-16 11:10):
> If u'r using apache or other web server backended by resin instead of
> running resin standalone, I think the 1202 snapshot should fix this
> issue.
>
> 2009/12/16 Mattias Jiderhamn :
>
>
>> We are seeing a lot of "Connection reset" with Hessian since the upgrade
>> of our production environment to 4.0.2 (both client and server). Would
>> this be related to the problems already reported against 4.0.2 and thus
>> fixed in the snapshot?
>>
>> Caused by: com.caucho.hessian.io.HessianFieldException:
>> se.exder.marketplace.api.MarketplaceAddressDTO.addressName: Connection
>> reset
>>at
>> com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:726)
>>at
>> com.caucho.hessian.io.JavaDeserializer$StringFieldDeserializer.deserialize(JavaDeserializer.java:639)
>>at
>> com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:286)
>>at
>> com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:178)
>>at
>> com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2110)
>>at
>> com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2030)
>>at
>> com.caucho.hessian.io.CollectionDeserializer.readLengthList(CollectionDeserializer.java:93)
>>at
>> com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1689)
>>at
>> com.caucho.hessian.io.Hessian2Input.readReply(Hessian2Input.java:351)
>>at
>> com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:241)
>>... 39 more
>> Caused by: java.net.SocketException: Connection reset
>>at java.net.SocketInputStream.read(SocketInputStream.java:168)
>>at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>at
>> sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:525)
>>at
>> sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:582)
>>at
>> sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:669)
>>at java.io.FilterInputStream.read(FilterInputStream.java:116)
>>at
>> sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2391)
>>at
>> com.caucho.hessian.io.Hessian2Input.readBuffer(Hessian2Input.java:2704)
>>at
>> com.caucho.hessian.io.Hessian2Input.read(Hessian2Input.java:2676)
>>at
>> com.caucho.hessian.io.Hessian2Input.parseUTF8Char(Hessian2Input.java:2501)
>>at
>> com.caucho.hessian.io.Hessian2Input.parseChar(Hessian2Input.java:2492)
>>at
>> com.caucho.hessian.io.Hessian2Input.readString(Hessian2Input.java:1328)
>>at
>> com.caucho.hessian.io.JavaDeserializer$StringFieldDeserializer.deserialize(JavaDeserializer.java:635)
>>... 47 more
>>
>> --
>>
>>
>>
>>