"LogRecordLockTimeout" registry policy for NCP-level lock timeout.

  • 7018764
  • 31-Mar-2017
  • 02-May-2017

Environment

Client for Open Enterprise Server 2 SP4 (IR6)

Situation

When multiple users write database data at the same time, it can result in write errors.

Resolution

A new, optional registry policy, "LogRecordLockTimeout" for NCP-level lock timeout, is introduced in Client for Open Enterprise Server 2 SP4 (IR6).

"LogRecordLockTimeout" DWORD32 is read from [HKEY_LOCAL_MACHINE\Software\Novell\Client\Parameters] during startup. 
If not defined, the Client for Open Enterprise Server will default to a lock timeout of 0 for all lock requests via NCP 87,67 and NCP 109.  If the "LogRecordLockTimeout" value is defined, it will be used as the NCP-level lock timeout value for all lock requests.

The expected behavior for OES NCP Server is to wait "NCP-level timeout value * 54ms"; e.g. a "LogRecordLockTimeout" value of 0x5 would create an NCP Server-side wait of approximately 270ms.

Note there is no protection or upper limit imposed on this value, same as on Novell Client for Windows XP/2003.  So it is possible to set a "LogRecordLockTimeout" value that would request a lock wait time that is longer than the 180-second NCP reply timeout. 
We recommend keeping this "LogRecordLockTimeout" timeout value under one second (to possibly five seconds at most), since the NCP connection will be held for the duration of the wait.

Cause

By default, requesting an NCP-level byte range lock fails immediately when the requested range is not available.  On Novell Client for Windows XP/2003, an optional registry policy had been provided to override this behavior, such that the NCP-level byte range lock request would contain a non-zero timeout value, to permit a short wait in case the lock range became available during that time. (See TID 7010481.)

This same optional registry policy is now provided for Client for Open Enterprise Server use on Windows 7 and later, for customers who are moving applications from Windows XP/2003 platforms and expected or required that this capability still be available.