Main Menu

KB#00623-Data Server keeps files open after client abruptly shuts down

Title:

Data Server keeps files open after client abruptly shuts down

Description:

If a client machine abruptly shuts down while accessing a record, the Data Server will maintain the lock on that record until it is shut down and restarted.

Resolution:

The Data Server process isn't being informed of the termination by the operating system. One work around is to use the -k parameter in the command line of the Data Server. 

This 'keep alive' mechanism will cause the Data Server to request that the socket layer periodically send out packets of information to prevent the connection from being terminated by the operating system due to inactivity. 

The option is useful in this case as any defunct processes will return an error; when the Data Server receives this error, it releases all locks, closes any open files, and exits. 

Note that there is a registry parameter which controls the frequency of keepalive messages under NT called KeepAliveTime. It is located under 

WARNING!!! 
Using the Registry Editor (regedit) incorrectly can cause serious problems that may require you to reinstall Windows. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. USE Registry Editor AT YOUR OWN RISK!!! 

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 

Create new DWORD value named "KeepAliveTime" and set it to equal the number of milliseconds to wait before sending keep alive packets (the default is 2 hours - 7,200,000 milliseconds); something more reasonable, like 120000 (2 minutes) or slightly longer is preferred. 

KeepAliveTime         REG_DWORD         0x006DDD00 (1D4C0) 

NOTE: For information about how to edit the registry, view the Changing Keys And Values online Help topic in Registry Editor (Regedit.exe). Note that you should make a backup copy of the registry files (System.dat and User.dat) before you edit the registry. 
************************************************************************************** 
Information from Microsoft Technet: 
KeepAliveTime function is hidden by default 
Key: Tcpip\Parameters 
Value Type: REG_DWORD - Time in milliseconds 
Valid Range: 1 - 0xFFFFFFFF 
Default: 7,200,000 (two hours) 
Description: The parameter controls how often TCP attempts to verify that an idle 
connection is still intact by sending a keep alive packet. If the remote system is still 
reachable and functioning, it will acknowledge the keep alive transmission. Keep 
alive packets are not sent by default. This feature may be enabled on a connection 
by an application. 



Last Modified: 02/03/2003 Product: PRO/5 Data Server Operating System: N/A

BASIS structures five components of their technology into the BBx Generations.

  Google+ View BASIS LinkedIN Profile Visit our Twitter Feed Check out our Facebook Public Profile Click to View the BASIS youTube channel