NCOPY reports failure when copying a large file, but file is actually successfully copied.

  • 10022150
  • 1.0.40418766.2409746
  • 22-Nov-1999
  • 16-Jan-2003

Archived Content: This information is no longer maintained and is provided 'as is' for your convenience.

Fact

Novell Client for Windows 95 & 98

Novell Client for Windows NT

Symptom

NCOPY reports failure when copying a large file, but file is actually successfully copied.

NCOPY reports failure when copying a large file, but workstation still holds source and destination file open.

Error: Current drive is no longer valid

Error: NCOPY-x.xx-130: The file cannot be copied.

Using NCOPY to copy large file from one volume to another within same server, or within same volume.

Cause

"Net Status Busy Timeout" mechanism gives up on server connection because of a non-completed NCP operation.

Fix

Recommendation:

Instead of using NCOPY to perform the file copy, use the "NetWare Copy" Explorer extension on the Novell Client for Windows 95 & 98 or Novell Client for Windows NT. Although this method will revert to actually moving the data across the network, the file reading & writing NCPs will occur in a timely manner and prevent the workstation from timing out on a single file copy NCP request.

If use of NCOPY for copying extremely large files is required, on Windows 95 & 98 increase the "Net Status Busy Timeout" to the maximum of 600 seconds to prevent the workstation from giving up on the server connection. This should prevent the failure so long as the NCP operation completes within ten minutes (600 seconds). Note this will cause the client to wait up to ten minutes for any NCP operation to complete, not just those related to NCOPY.

If the file copy operations cannot complete within that time frame, on the NetWare server increase the value of "Maximum Concurrent Disk Cache Writes" to a value such as 2000 so long as the disk channel is a Fast/Wide SCSI or EIDE bus which should support such large transfers in a reasonable time frame. The actual .DSK or .HAM drivers being used may limit or improve throughput which could allow a higher setting or require a lower one. Tuning this parameter will help ensure though that the copy operation for any single file will complete within ten minutes.

Note that the Novell Client for Windows NT does not have a configurable "Net Status Busy Timeout" parameter in Advanced Settings. This platform apparently uses a fixed timeout value of around four minutes.

The Novell Client 2.71 for DOS/Windows apparently does not give up on the NCP operation even though the "Net Status Busy Timeout" exists as a NET.CFG parameter for that client. The NCOPY operations which fail with the Windows clients typically succeed with the Novell Client for DOS/Windows.

Background:

When using NCOPY with a source and destination that reside on the same file server, the workstation opens a handle to both the source and destination file and then issues an NCP request to copy the contents from one file handle to another. This causes the NetWare server to process the copy operation wholly within the server rather than passing data over the network and back.

If the NetWare server cannot complete an NCP request (any NCP request) within a reasonable time the workstation has retry mechanisms which will kick in. The first workstation connection mechanism to kick in is "Minimum Time To Net". When the workstation hasn't received a response to the NCP command within the period defined by "Minimum Time To Net" the workstation will retry the same NCP command again in case the server never received the original request. If and when the server sees a duplicate request arrive for the connection it's already processing that request for, the server responds immediately with an NCP 0x9999 meaning ("Server busy") to indicate a previous request is still in progress.

Now the workstation "Net Status Timeout" logic applies, which determines for how long the Novell client will tolerate receiving 0x9999 NCP replies before a dialog indicating the workstation is waiting on a pending NCP is displayed (e.g. "Client32: Please wait..."). Finally the "Net Status Busy Timeout" logic applies, which defines how long the Novell client will tolerate 0x9999 NCP replies before giving up on the NCP operation altogether.

In the case of NCOPY performing a handle-to-handle copy (which is a single NCP request), if the Novell client gives up on that NCP request the Novell client returns a failure to the application and attempts to re-establish a connection to the NetWare server. This results in the original two file handles being left open by the workstation's original connection until that connection times out. The actual NCP request on the NetWare server is still in progress however, and the handle-to-handle copy operation does actually complete on the NetWare server..