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
repositories).
Regards,
Malcolm
- application/pgp-signature attachment: stored
 
 
Received on Mon Mar  5 18:56:18 2007