I'm using server-to-server WebSocket connections to link clients to a
cometd event pipeline.
All goes well for a while, but the following exceptions start cropping
up, and become increasingly frequent:
WARN - 026 [Event Bus-331] WARN bayeux@185070685 - io
INFO - org.eclipse.jetty.io.EofException
INFO - at org.eclipse.jetty.websocket.WebSocketGenerator.flushBuffer(WebSocketGenerator.java:134)
INFO - at org.eclipse.jetty.websocket.WebSocketGenerator.addFrame(WebSocketGenerator.java:78)
INFO - at org.eclipse.jetty.websocket.WebSocketGenerator.addFrame(WebSocketGenerator.java:112)
INFO - at org.eclipse.jetty.websocket.WebSocketConnection.sendMessage(WebSocketConnection.java:242)
INFO - at org.eclipse.jetty.websocket.WebSocketConnection.sendMessage(WebSocketConnection.java:237)
INFO - at org.cometd.server.transport.WebSocketTransport$WebSocketScheduler.send(WebSocketTransport.java:298)
INFO - at org.cometd.server.transport.WebSocketTransport$WebSocketScheduler.schedule(WebSocketTransport.java:285)
INFO - at org.cometd.server.ServerSessionImpl.flush(ServerSessionImpl.java:471)
INFO - at org.cometd.server.ServerSessionImpl.endBatch(ServerSessionImpl.java:321)
INFO - at org.cometd.server.transport.WebSocketTransport$WebSocketScheduler.onMessage(WebSocketTransport.java:237)
INFO - at org.eclipse.jetty.websocket.WebSocketConnection$1.onFrame(WebSocketConnection.java:58)
INFO - at org.eclipse.jetty.websocket.WebSocketParser.parseNext(WebSocketParser.java:140)
INFO - at org.eclipse.jetty.websocket.WebSocketConnection.handle(WebSocketConnection.java:176)
INFO - at org.eclipse.jetty.server.nio.BlockingChannelConnector$ConnectorEndPoint.run(BlockingChannelConnector.java:179)
INFO - at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
INFO - at java.lang.Thread.run(Unknown Source)
The reason I'm using BlockingChannelConnector instead of
SelectChannelConnector is to do with the Web Socket system in Jetty
throwing an IllegalStateException - full error, and the workaround is
to use Blocking instead of Select.
I'm happy to revert, or to apply an approved fix.
I'm using Jetty8.M1 and cometd.2.1.0.beta2 with annotations.
Any help would be hugely appreciated.
Martin
I think you hit an issue with Jetty that should be fixed in 7.3.1, but
it has not been forward-ported to 8.0 yet.
So I would use 7.3.1 with the select connector.
If you can, stick with 7.x series, more stable.
CometD 2.1.0 final has been released, FYI.
Simon
--
http://bordet.blogspot.com
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless. Victoria Livschitz