book
Article ID: KB0086720
calendar_today
Updated On:
Description
Resolution:
Description:
==========
In an RTserver lof file sometimes you will see an RTclient reported as 'DOWN', other times you will see it reported as 'dead'. These states indicate different occurances from the RTserver perspective.
Environment:
===========
All
Resolution:
=========
'DOWN' is an indication that the virtual connection (SVC) has been dropped. The SVC is the abstraction layer that is put around the actual the physical connection (SPC).
DOWN means that the server has decided that the client is no longer there, regardless of the reason. Specifically, it would be related to the server cleaning up its internal objects associated with the client. RTserver should never terminate a "healthy" connection, but "healthy" implies the client is keeping up with its inbound queue and replying to pings, not sending bad data, etc. There are conditions under which RTserver would disconnect a seemingly healthy client, such as a maxbuffer overrun.
'dead' is indicative of a problem within the SPC layer. Basically, 'dead' will be mentioned when a socket-level error or problem is detected and 'DOWN' will be thrown when keep-alives fail or a problem is detected with the connection. A "dead" client is sort of a zombie; the client has been marked as destroyed but the object hasn't been completely cleaned up yet. The object is still there, but RTserver knows/believes that the referenced client doesn't exist. (This is an artifact of the DRAIN feature. Think of it like memory that is "freed" but hasn't been garbage collected; DRAIN is deferred garbage collection.)
Issue/Introduction
What is the difference between "DOWN" and "dead" regarding a client's status as reported in an RTserver log?