Select to view content in your preferred language

Input WebSocket connector doesn't reconnect automatically after lost connection

4629
1
06-09-2015 03:45 AM
ThibautDelaere1
Occasional Contributor

Hello,

Using GeoEvent Extension 10.3.1 I noticed that the input WebSocket connector doesn't restart when the connection is lost. In the log the following error can be read:

com.esri.ges.transport.websocket.WebsocketInboundTransport: WebSocket experienced an error, trying to reconnect.

After that, no data is processed by the input connector.

When I check the WebSocket and the data is coming in again, the GeoEvent input connector won't reconnect automatically. So no data is processed.

When I manually restart the input connector, the connection is made again and data is processed again.

So maybe the system doesn't try long enough or enough times to reconnect? Can this be configured?

Or is it something else?

Thibaut

0 Kudos
1 Reply
RJSunderman
Esri Regular Contributor

Hello Thibaut -

Can you provide me with some steps I can use to reproduce the issue you are describing?

If I remember correctly, the web socket capability was first introduced with the 10.2.2 product release. It was developed as a proof of concept for the Stream Service capability which was introduced with the 10.3 release. Stream services rely on web sockets behind the scenes.

I don't believe that there has been many bug fixes implemented for the initial web socket capability. I know, for example, that there is an outstanding issue that a 'Push JSON to an External WebSocket' outbound connector will not honor its 'Idle time to disconnect' property. I've observed that the output will time out after 600 seconds regardless of what you've configured if no data is broadcast across the web socket connection ... and will not attempt to reconnect.

Are you using the 'Receive JSON on a WebSocket' input out-of-the-box ... which runs in SERVER mode?

How is your client end of the web socket sending data to the running GeoEvent input?

If you can help me identify a way to force the inbound web socket to experience an error, I'll see what I can do to work with a developer and determine if there is something we can do to have the input handle the error and/or attempt to restore its end of the web socket connection if necessary ... but no, there is no configuration you can change that should affect what you are seeing. If the input drops its end of the connection all you can do is manually restart the input connector.

- RJ

0 Kudos