We are coming across OutOfMemory error in the RPC serialization code
while returning a large document back to the GWT client. The
environment is IBM WebSphere Process Server, 6.0.2.1, GWT 1.4.62,
server is configured with 1024 MB max memory.
Here is the server log giving details of the RPC call and the error.
[2/12/09 12:50:03:410 PST] 0000003d SystemOut O INFO
[WebContainer : 0] (AuditQueryImpl.java:387) - getInitStateDoc(3PLSO):
Executing Query:
select i.DOCUMENT from CBE_AUDIT_INIT i
where (i.MSG_ID = '414D512043494D5355503031202020205DD87249CEF51E20')
and (i.CORREL_ID ='C14714E9705315D5987')
and (i.creation_time = to_timestamp('2009:02:12 04:34:39:0',
'YYYY:MM:DD HH24:MI:SS:FF'))
[2/12/09 12:50:03:413 PST] 0000003d SystemOut O INFO
[WebContainer : 0] (AuditQueryImpl.java:391) - getInitStateDoc(3PLSO):
query completed in 3 milliseconds.
[2/12/09 12:50:05:156 PST] 0000003d SystemOut O INFO
[WebContainer : 0] (AuditQueryImpl.java:413) - getInitStateDoc(3PLSO):
completed in 1746 milliseconds, payload processing took 1743
milliseconds for 10628528 bytes.
[2/12/09 12:50:05:156 PST] 0000003d SystemOut O INFO
[WebContainer : 0] (QueryServiceImpl.java:178) - Sending init state
payload for txn <3PLSO>
<414D512043494D5355503031202020205DD87249CEF51E20_C14714E9705315D5987>
Query time [1746 ms], txn size: 10628125 bytes, Payload size: 10627957
bytes.
[2/12/09 12:50:13:348 PST] 0000003d WebApp A SRVE0181I: [EAI
Portal] [/eaiportal] [Servlet.LOG]: Exception while dispatching
incoming RPC call: java.lang.OutOfMemoryError
at java.lang.StringBuffer.append(StringBuffer.java(Compiled
Code))
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.writeStringTable
(ServerSerializationStreamWriter.java(Compiled Code))
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.toString
(ServerSerializationStreamWriter.java:278)
at com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:
577)
at com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess
(RPC.java:442)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:530)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:265)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service
(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest
(ServletWrapper.java:762)
at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest
(CacheServletWrapper.java:89)
at com.ibm.ws.webcontainer.WebContainer.handleRequest
(WebContainer.java:1924)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready
(WCChannelLink.java:109)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination
(HttpInboundLink.java:472)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation
(HttpInboundLink.java:411)
at
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete
(HttpICLReadCallback.java:101)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete
(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO
(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun
(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run
(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java
(Compiled Code))
We took a snapshot of JVM memory on the server immediately after the
error and see that it has enough memory available, almost 850 MB.
Looks like it has to with some limitations in the data size that can
be serialized through RPC.
We have another client application written in JSP that can
successfully retrieve the same record and display on the client.
Please let us know if there is a way to resolve this problem in GWT
1.4.62.
Regards,
Milind
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---