I'm seeing the following stack trace from my Restlet 2.1.1 client application
when talking to my Restlet 2.1.1 server running on the GAE SDK development
server. It is intermittent (sometimes the client app runs to completion), and
happens on different calls.
Exception in thread "main" Communication Error (1001) - The connector failed to
complete the communication with the server
at org.restlet.resource.ClientResource.doError(ClientResource.java:612)
at
org.restlet.resource.ClientResource.handleInbound(ClientResource.java:1202)
at org.restlet.resource.ClientResource.handle(ClientResource.java:1026)
at org.restlet.resource.ClientResource.post(ClientResource.java:1418)
at com.cm.interchange.cli.Preload.main(Preload.java:171)
Caused by: java.net.SocketException: Socket Closed
at java.net.PlainSocketImpl.getOption(PlainSocketImpl.java:286)
at java.net.Socket.getSoTimeout(Socket.java:1032)
at sun.net.www.http.HttpClient.available(HttpClient.java:356)
at sun.net.www.http.HttpClient.New(HttpClient.java:273)
at sun.net.www.http.HttpClient.New(HttpClient.java:310)
at
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:987)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923)
at
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:841)
at
org.restlet.ext.net.internal.HttpUrlConnectionCall.sendRequest(HttpUrlConnectionCall.java:334)
at
org.restlet.engine.adapter.ClientAdapter.commit(ClientAdapter.java:114)
at
org.restlet.engine.adapter.HttpClientHelper.handle(HttpClientHelper.java:112)
at org.restlet.Client.handle(Client.java:180)
at org.restlet.routing.Filter.doHandle(Filter.java:159)
at org.restlet.routing.Filter.handle(Filter.java:206)
at org.restlet.resource.ClientResource.handle(ClientResource.java:1136)
at
org.restlet.resource.ClientResource.handleOutbound(ClientResource.java:1225)
at org.restlet.resource.ClientResource.handle(ClientResource.java:1025)
... 2 more
When I crank logging up to FINEST, this is the end of the server stdout:
Feb 12, 2013 8:07:46 AM
com.google.appengine.api.datastore.dev.LocalDatastoreService commitImpl
FINE: committed: 1 puts, 0 deletes in 1 entity groups
Feb 12, 2013 8:07:46 AM com.cm.interchange.service.NotifyImpl sendEvent
INFO: Item created: /car/61
Feb 12, 2013 8:07:46 AM com.google.appengine.api.channel.dev.ChannelManager
sendMessage
WARNING: Skipping message to unconnected channel: asdf
Feb 12, 2013 8:07:46 AM org.restlet.service.ConverterService toRepresentation
FINE: Converter selected for OfyCar: JacksonConverter
Feb 12, 2013 8:07:46 AM org.restlet.engine.log.LogFilter afterHandle
INFO: 2013-02-12 01:07:46 127.0.0.1 127.0.0.1
8080 POST /api/car - 201 - 222 126
http://localhost:8080 Restlet-Framework/2.1.1 -
Feb 12, 2013 8:07:46 AM com.google.apphosting.utils.jetty.JettyLogger debug
FINE: EOF
Feb 12, 2013 8:07:46 AM com.google.apphosting.utils.jetty.JettyLogger debug
FINE: EOF
Feb 12, 2013 8:08:03 AM
com.google.appengine.api.datastore.dev.LocalDatastoreService$PersistDatastore
persist
INFO: Time to persist datastore: 20 ms
The last INFO message comes out a second or two after the client crashes. The
two JettyLogger debug FINE EOF messages are consistently the last messages when
the client crashes.
Note that the server doesn't crash; it continues running.
Versions:
Restlet: 2.1.1
GAE SDK: 1.7.4
Java: Oracle Hotspot 64-bit 1.6.0_39
Objectify: 3.1
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=3048437