Here is a bit more feedback.

(1) Due to the need to respond within 45 seconds to any CIFS request
with either success or failure, the RX timeout values on the Windows
client are very short when compared to the UNIX AFS clients.  If there
are network congestion issues, packet loss, or large amounts of latency
this can contribute to delays in responding promptly to the CIFS client.
Failure to respond within 45 seconds will result in the CIFS client
breaking the virtual circuit with the AFS cache manager.  If overlapped
I/O is being used, a delayed write error message will be displayed by
the system process.

(2) When compiling code out of AFS using the Windows client, try to
minimize the use of INCLUDE search paths, or Java CLASSPATH search paths
that include paths within AFS.  The AFS directory structure uses case
sensitive hash tables to speed the access to directory entries.  The
hash tables are useless on Windows because Windows treats file names
without case sensitivity.  Multiple entries that differ only by case
must be detected by the Windows client.  The behavior of the IBM AFS
client was particularly dangerous in that if you said "DEL foo" and
there were two entries "Foo" and "FOO" both would be deleted.  If you
said "TYPE foo" and "Foo" and "FOO" existed, you would get the one
listed first in the directory.   First in the directory does not mean
the one created first but simply the one that is discovered first.

Without the hash tables, directory searches are linear scans of all
directory entries.  This is very CPU intensive and time consuming to
perform repeatedly.

(3) If you have a router that does not maintain port mappings for UDP
sessions, there will be long delays with the file and volume servers.

I have a Netopia 4686XL v8.6.1r4 router.  When the Stateful Packet
Inspection is disabled it uses an extremely short inactivity timeout
(< two minutes) which causes AFS significant problems.  Whenever there
is a pause in access to a particular AFS server the port mapping changes
causing the AFS server to treat the connection as new.  To do otherwise
would open AFS to connection hijacking.  When Stateful Packet Inspection
is enabled and the UDP inactivity timeout set beyond ten minutes, the
performance of AFS is exceptional.

---

In summary, the OpenAFS Windows client is very sensitive to the network
performance.   If you are having issues, the behavior of the network is
a good place to start looking.

Jeffrey Altman
Secure Endpoints Inc.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to