Nicolas Devos
2005-02-09 09:25:27 UTC
Hi,
we have a session bean whom API is:
Entity[] findEntity(EntityId[]);
When passing a large array of identifiers (~40000), we get almost
everytime the following exception on the client side after a delay of
4mn:
Exception : java.rmi.UnmarshalException: failed to unmarshal cookie;
nested exception is:
java.net.SocketException: Connection reset by peer: socket write error
java.net.SocketException: Connection reset by peer: socket write error
When we got this exception, we noticed that the session bean was not
called and that the socket was not actually open between the client and
the server: netstat on the client side showed the server ip, but
netstat on the server side did not show the client ip....
When we reduce the size of the array, everything works fine.
Thank you for your help
our config is weblogic 7.0sp1
ans we set the following params in our server config.xml:
CompleteT3MessageTimeout=480
MaxT3MessageSize=2000000000
The objects passed in are quite small, 200 bytes each, that make 10MB
for the input request.
Here is the stack of the client exception:
Exception : java.rmi.UnmarshalException: failed to unmarshal cookie;
nested exception is:
java.net.SocketException: Connection reset by peer: socket write error
java.net.SocketException: Connection reset by peer: socket write error
at
weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:109)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:262)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
at
refdata.ejb.ejbReferenceDataManagerBean_3ywtjc_EOImpl_WLStub.findEntity(Unknown
Source)
at
refdata.ejb.ejbReferenceDataManagerHelper.findEntity(ejbReferenceDataManagerHelper.java:189)
at
refdata.ReferenceDataManagerAccessor.findEntity(ReferenceDataManagerAccessor.java:147)
at
refdata.ReferenceDataManager.findEntity(ReferenceDataManager.java:141)
we have a session bean whom API is:
Entity[] findEntity(EntityId[]);
When passing a large array of identifiers (~40000), we get almost
everytime the following exception on the client side after a delay of
4mn:
Exception : java.rmi.UnmarshalException: failed to unmarshal cookie;
nested exception is:
java.net.SocketException: Connection reset by peer: socket write error
java.net.SocketException: Connection reset by peer: socket write error
When we got this exception, we noticed that the session bean was not
called and that the socket was not actually open between the client and
the server: netstat on the client side showed the server ip, but
netstat on the server side did not show the client ip....
When we reduce the size of the array, everything works fine.
Thank you for your help
our config is weblogic 7.0sp1
ans we set the following params in our server config.xml:
CompleteT3MessageTimeout=480
MaxT3MessageSize=2000000000
The objects passed in are quite small, 200 bytes each, that make 10MB
for the input request.
Here is the stack of the client exception:
Exception : java.rmi.UnmarshalException: failed to unmarshal cookie;
nested exception is:
java.net.SocketException: Connection reset by peer: socket write error
java.net.SocketException: Connection reset by peer: socket write error
at
weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:109)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:262)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
at
refdata.ejb.ejbReferenceDataManagerBean_3ywtjc_EOImpl_WLStub.findEntity(Unknown
Source)
at
refdata.ejb.ejbReferenceDataManagerHelper.findEntity(ejbReferenceDataManagerHelper.java:189)
at
refdata.ReferenceDataManagerAccessor.findEntity(ReferenceDataManagerAccessor.java:147)
at
refdata.ReferenceDataManager.findEntity(ReferenceDataManager.java:141)