[Glass] tODE being disconnected on long "do-its"

Martin McClure via Glass glass at lists.gemtalksystems.com
Tue Jan 31 14:57:57 PST 2017

On 01/31/2017 01:25 PM, Mariano Martinez Peck via Glass wrote:
> OK, I may have solved it by adding:
>  ❯ cat .ssh/config                                                    
>                                                 [18:24:55]
> Host *
>     ServerAliveInterval 300
>     ServerAliveCountMax 2
> Will continue tomorrow with the testing and let you know.
I suspect you're on the right track.

Without more detailed information, the most likely culprit is a stateful
firewall somewhere between your client and your server. Or something
doing NAT. Both of these things track connections, and have timeouts. If
they see no traffic, after some time they'll assume the connection has
been dropped and stop routing packets between the endpoints. Then when
you *do* try to use that connection, the packets don't get through, and
when the TCP connection isn't ACKed after a certain time the OS will
report a socket error to the gem or the client library.

By default, TCP does not send any packets on a connection unless there
is data to exchange. GemStone does enable SO_KEEPALIVE on its sockets.
This tells the OS to do a packet exchange every once in a while on an
idle socket. The OS controls the frequency of this. Default is usually
two hours, so if the NAT router or firewall has a shorter timeout, this
will not help.



More information about the Glass mailing list