|
On-Line News | April 5, 2000 No. 95 Eliminating I90 ErrorsAnother
source of I90 errors has been associated with certain network interface cards. Some cards appear to deactivate under heavy
network loads, while others have built-in diagnostic circuitry that temporarily halts
traffic at brief intervals. In either case,
these periods of "network deafness" generally cause Windows network activity to
appear to slow or halt. If an NPL disk operation occurs during this period, the Windows
network request may fail and return an error to NPL, resulting in an I90 error. Check with the card manufacturer if a hardware
problem is suspected. If a
customer is running NPL on a Windows NT server, and upgrading the runtime does not
eliminate I90 errors, and the network cards have been eliminated as a potential cause of
the errors, a final suggestion is to disable the Oplocks setting in Windows NT. The
Oplocks setting relates to the process called "Opportunistic File Locking, a performance enhancement under Windows NT. Some developers have previously reported spurious
I90 errors with an associated DOS error code of 21 "Lock Violation". Although the cause of the errors was never
conclusively determined, changing the Oplocks setting in Windows NT appeared to eliminate
the problem. In Windows
NT, if Opportunistic File Locking is enabled, the following occurs when a file is opened. If the file is opened in a non-exclusive (deny
none) mode, the redirector requests an opportunistic lock of the entire file. As long as no other process has the file open, the
server will grant this Oplock, giving the redirector exclusive access to the specified
file, or Exclusive Oplock. This will allow
the redirector to perform read-ahead, write-behind, and lock caching, as long as no other
process tries to open the file. Theoretically,
problems related to the use of Oplocks typically occur on busy networks. Difficulties also arise on networks with clients
that do not respond in a timely manner to server oplock break requests. When using the standard default registry values,
the server assumes that the client with an Oplock has 'died' if it does not respond within
35 seconds to a break Oplock request. An
Oplock break failure can result in data loss and possibly allow two clients to
simultaneously open a shared file in exclusive mode. Note: Additional details regarding Opportunistic File Locking are available in Microsoft TechNet Article Q129202. The
following registry entries are used to enable or disable oplocks for Windows NT
Workstation and Server. These registry keys
may not exist by default. The registry on
both Windows NT Server and Windows NT Workstations must be modified. Windows 95 and Windows 98 do not use Oplocks and
therefore do not require a modification to the registry. To access
the registry, run REGEDT32.EXE from the File menu, then select 'Run' in Program Manager or
File Manager. Altering the registry as
follows, changes the default Oplocks setting from true/one
(1) to false/zero (0). WARNING: Please note that
there is a serious performance penalty paid for turning off Oplocks. Note:
On NT systems you need Administrator-equivalent access to make the registry changes. After
changing the registry settings, reboot the server or workstation for the settings to take
effect. NT Workstation Use the
Registry Editor to navigate to the following subkeys: \HKEY_LOCAL_MACHINE By default, Opportunistic locking is enabled but not shown in a visible key. To disable Oplocks, the registry key must be added and set to 0. Therefore, within the above subkey, add a new value called "UseOpportunisticLocking", and set the DWORD value to "0". To subsequently re-enable Oplocks, the setting should be changed from "0" to "1". NT Server \HKEY_LOCAL_MACHINE By default, Opportunistic locking is enabled but not shown in a visible key. To disable Oplocks, the registry key must be added and set to 0. Therefore, within the above subkey, add a new value called "EnableOplocks", and set the DWORD value to "0". To later re-enable Oplocks, the setting should be changed from "0" to "1".
|