On Mon, Mar 05, 2007 at 11:56:31AM +0100, Peter Lundblad wrote:
> > (So we might be writing to, say, /var/tmp/myrepo/1-1.txn/node._1.0 and
> > /nfs/repos/myrepo/db/transactions/1-1.txn/rev).
> > But again, this isn't suitable for everyone. And in this case, there's
> > not even a reasonable default location for the local storage.
> Wouldn't what svn_io_temp_dir give us a reasonable place?
Not if you have more than one repository on the machine :-)
Hmm... Actually, I could use <tmp>/svn.<uuid>/<txn>. That might work,
though I wonder whether it's flexible enough?
> But this means that the transaction is actually incomplete as stored
> in the repository, or am I missing something?
> In tha tcase, we definitely need a switch to at least turn it on, because it
> can be quite dangerous.
Yes, exactly. The transaction on the NAS would _not_ contain enough
information to reopen it from somewhere else - you'd need the local
information stored on the frontend as well. Now in the general case,
that's okay - we don't typically have long-lived transactions in practice,
but you're absolutely right that we need this to be a switch.
> > So, here's the plan:
> > - Store those options into a new db/config file, probably in our normal
> > config format. If neither option is used, don't create a file.
> > - Bump the fs format number if the db/config file is created, because
> > older clients won't know to read it.
> > - Don't offer any way to change the config manually after creation save
> > for a dump/load cycle, at least not initially.
> I think a db/config is fine in general, but not for values that can't just
> be tweaked. I think values that only svnadmin (or similar) should chagne
> should be stored in some internal file and we could use db/config for
> things users could actually tweak (like a location for temporary files).
> So I don't think sharding, which actually affects the format of the repository,
> should be stored in a config file.
Technically, sharding and local-txn-storage are the same: in both cases,
the admin would need to do some amount of work to change the (number of
shards / local temp location). The only difference is the amount of
work (which might be zero in the latter case, with no open
Received on Mon Mar 5 18:56:18 2007
- application/pgp-signature attachment: stored