We have ~20 repositories of varying sizes and we've been running 1.8.8 for the 
last 3 weeks (up from 1.7.15). So far all of our repos were just 'svnadmin 
upgrade'd and I've been scheduling overnight dump/load cycles of the repos to 
complete the upgrade and minimise downtime. The script will:

*         mv repo repo-17

*         svnadmin create repo-18

*         svnadmin dump -q -M256 -deltas repo-17 | svnadmin load -q -M256 
--force-uuid repo-18

After a chown and verify of repo-18, it is moved into the place of the old one. 
This worked well for the first ten repos; but, after moving a couple of 
low-traffic repositories this morning, clients reported the following error on 
each:

E175002: Unable to connect to a repository at URL 'http://svn/repo/path/1.0 '
E175002: Unexpected HTTP status 500 'Internal Server Error' on '/repo/path/1.0 '

E160004: Additional errors:
E160004: Corrupt node-revision '0.0.r5684/3578'

In each case the revision shown was the last one. I re-ran svnadmin verify, but 
it came up clean.  I moved the repo filesystem to one side and attached apache 
to it under http://svn/repo-broken. After gracefully restarting apache2 to load 
the new config, the repo was working fine, with no errors.

I suspect that the error was just a result of me being lazy and not shutting 
down apache during the dump/load (the repos get perhaps one commit per week). 
Does mod_dav_svn cache anything that might be confused if the repo filesystem 
is shifted around under it (even if there's no traffic on the repo)?

Cheers,

Terry.

Reply via email to