Hi DarioCrivelli,
Thanks, we will have a look at the doco.
The other application is responsible for feeding data to LS server through the RobustNetworkedDataProvider adapters. We've exposed mbeans in jmx to connect/disconnect socket connections to LS server.
We did a tcp dump. And we managed to find an error msg right before the moment when connection was lost. Here it is:
8-Aug-10 09:08:51,615 |ERROR|.data.RobustNetworkedDataProvider|#7 Reply Receiver |Got fatal error from the inner Proxy Adapter
com.lightstreamer.adapters.remote.RemotingException: Exception caught while reading from the reply stream: Connection reset
at com.lightstreamer.adapters.remote.request_reply.NotifyReceiver.run(NotifyReceiver.java:71)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.LineNumberReader.readLine(LineNumberReader.java:182)
at com.lightstreamer.adapters.remote.request_reply.NotifyReceiver.run(NotifyReceiver.java:66)
18-Aug-10 09:09:06,307 |ERROR|LightstreamerLogger.requests |SERVER POOLED THREAD 2 |Bad request: LS_session parameter missing
18-Aug-10 09:09:06,307 |ERROR|LightstreamerLogger.connections |SERVER POOLED THREAD 2 |Failure in request processing: Bad request: com.lightstreamer.b.c: LS_sessi
on parameter missing
18-Aug-10 09:09:21,621 |ERROR|rs.remote.data.RemoteDataProvider|Timer-10 |Exception caught while subscribing to item 'U20'
com.lightstreamer.adapters.remote.RemotingException: Timeout while waiting for an answer to request 460000012a7e94cbeb
at com.lightstreamer.adapters.remote.request_reply.RequestSender$1.run(RequestSender.java:200)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Do you know why the "fatal error" occurred?
Also on our LS server unix box, we've made some changes to Sysctl keepalive options. They have been tuned down significantly to detected stale connections sooner (in sec):
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_time = 45
From your point of view, would this be good to the system?