[OpenAFS] limit amount of uncommitted cache manager data?
Russ Allbery
rra@stanford.edu
Mon, 24 Sep 2007 10:42:32 -0700
Adam Megacz <megacz@cs.berkeley.edu> writes:
> I've noticed that when writing really large files with something like
> "cat .. | gzip > /afs/file" on a machine with a very large cache manager
> cache, several hundred megabytes of data can accumulate locally before
> being written back when close() is called. In some cases, this can lead
> to write() calls being quite fast, but the final close() call takes an
> hour or more to return. We (hcoop) would like to avoid this situation
> if possible.
> I assume that this amount of "unwritten" data cannot exceed the size of
> the cache -- and I guess if this happens, the application is blocked
> until enough StoreData's have happened to free up cache space. Is there
> any way to get the CM to start this throttling earlier on? Say, for
> example, when the amount of unwritten data reaches 50MB? Unfortunately
> setting the cache size to 50MB is not an option -- this machine performs
> other tasks as well.
Can you convince your application to call fsync periodically? If so,
that's the fastest and easiest solution. fsync will write the data back
to the server.
--
Russ Allbery (rra@stanford.edu) <http://www.eyrie.org/~eagle/>