gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Re: Arch caches


From: Aaron Bentley
Subject: [Gnu-arch-users] Re: Arch caches
Date: Mon, 06 Sep 2004 11:56:14 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Tom Lord wrote:
    > From: Aaron Bentley <address@hidden>


    > >>   address@hidden/foo--bar--1.0--patch-53/full-tree.tar.gz

    > Say we used the above to represent cacherevs and imports.  We'd also want

    > address@hidden/foo--bar--1.0--patch-53/type

> I'm thinking of a text file containing one of "import", "continuation" > or "simple"

If you look up that name and it's not in the cache, that could result
in a call to to `arch_revision_type'. It could also try to avoid the archive call by looking up:

    address@hidden/foo--bar--1.0--patch-53/log

and if that were found in the cache, inferring the type directly from
that.

Yes, that sounds nice, though I think we need to add a distinctive
header for imports.

I'm not sure exactly what you have in mind, in terms of "cache-filling
rules".  It seems to me that having such rules makes queries act like
function calls, and if that were true, I'd think function calls were
more convenient.  Though exposing queries through the commandline
interface could be very useful to external programs.

For now, I'm thinking in terms of a dumb cache, on the assumption that
once the dumb cache is working, we can make it smart.  So my focus in on
getting things right in terms of what is stored (e.g. *not* cacherevs,
but full trees) and how things are named.

In addition to maybe_get, I'd like to see an is_cached operation, and
maybe even a list_cached operation, so we could, for example, find out
which revisions of a version had local full-tree caches.

In terms of providing estimates of answer costs, I don't think we can do
that properly until we have info on file sizes at the pfs layer.  But if
we get that, we can also expose that info, either as another operation,
or as part of the query namespace.

Aaron






reply via email to

[Prev in Thread] Current Thread [Next in Thread]