Coda File System

RPC2 1.15 released

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Sat, 22 Mar 2003 16:26:07 -0500
A new release of librpc2, version 1.15, is now available.

It fixes a nasty 'random' memory corruption case that has been there for
a long time, but we started packing reintegration logs more efficiently
and has now been the main cause for 'unexplainable' crashes and memory
corruption for Coda clients during reintegration.

Another important fix is that it adds an explicit yield to other threads
when SFTP packets are received through the rpc2 socket. Because we were
not giving SFTP threads a chance to run, a relatively fast client on a
fast network would trigger a lot of packet loss during store operations.
The effects of this were very subtle, Coda clients were doing a good job
at 'hiding' the network problem. The main effect was probably that
stores were taking considerably more time and network bandwidth than
necessary. It also caused unnecessary disconnections followed by
reintegration or server-server resolution. These performance problems
and disconnections only happen when clients are using the 'masquerade'
option which has been the default for newly installed clients since
Coda-5.3.20.

Luckily both of these problems are in the shared library and not in the
stub generated code. Existing clients and servers do not need to be
recompiled. Just install this new version of the library and restart.

I've been running this code on our production servers for several days
now and it is looking quite good. Average store rates went from several
KB/s to several MB/s and the total number of ValidateAttrs calls are way
down, indicating fewer disconnections even from clients that are mostly
still using the old rpc2 libraries.

I've put up the sources and precompiled binaries built for RedHat-5.1
and Debian, which are pretty much the machines that I have access to
right now. Precompiled binaries for other distributions/platforms would
be welcome.

Jan
Received on 2003-03-22 21:10:38