Today users had problems with locks that frozen the repo. TortoiseSVN
reported the following error :
Can't parse lock/entries hashfile
'/var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2'
In the Apache error log file I have the following :
[Fri May 27 10:05:50 2011] [error] [client 10.1.8.180] The locks could
not be queried for verification against a possible "If:" header. [500, #0]
[Fri May 27 10:05:50 2011] [error] [client 10.1.8.180] Failed to check
path for a lock. [500, #200002]
[Fri May 27 10:05:50 2011] [error] [client 10.1.8.180] Can't parse
lock/entries hashfile
'/var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2'
[500, #200002]
I also have fails to create new locks :
[Fri May 27 09:36:16 2011] [error] [client 10.1.8.144] Failed to create
new lock. [500, #200002]
[Fri May 27 09:36:16 2011] [error] [client 10.1.8.144] Can't parse
lock/entries hashfile
'/var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2'
[500, #200002]
If I did an "svnadmin lslocks [path]", the command returns something
like "the file is malformed".
Un fortunately I didn't copy the exact message.
This happened for various lock paths. I tried to move the files in the
repo
("/var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2")
to see if it works.
The repo was usable again, but locks were still an issue.
I tried to reproduce the problem on a test repository, no problem. I
asked the users who got problem locking files to try on the test repo
and on the production repo.
Everything get fine and I was unable to reproduce the problem.
Does anyone have an explanation about this issue ?
--
Bastien Semene
Administrateur R�seau& Syst�me
Cyanide Studio - FRANCE
cat /var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2
> In the Apache error log file I have the following :
> [Fri May 27 10:05:50 2011] [error] [client 10.1.8.180] The locks
> could not be queried for verification against a possible "If:"
> header. [500, #0]
> [Fri May 27 10:05:50 2011] [error] [client 10.1.8.180] Failed to
> check path for a lock. [500, #200002]
> [Fri May 27 10:05:50 2011] [error] [client 10.1.8.180] Can't parse
> lock/entries hashfile '/var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2'
> [500, #200002]
>
> I also have fails to create new locks :
> [Fri May 27 09:36:16 2011] [error] [client 10.1.8.144] Failed to
> create new lock. [500, #200002]
> [Fri May 27 09:36:16 2011] [error] [client 10.1.8.144] Can't parse
> lock/entries hashfile '/var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2'
> [500, #200002]
>
> If I did an "svnadmin lslocks [path]", the command returns something
> like "the file is malformed".
> Un fortunately I didn't copy the exact message.
>
> This happened for various lock paths. I tried to move the files in
> the repo ("/var/db/svn/repos/agot/db/locks/328/328675b94c4bb4aa73c5554051d076d2")
> to see if it works.
> The repo was usable again, but locks were still an issue.
>
"Don't do that."
The locks/ directory has invariants that you may violate if you move
files randomly under it.
I forgot to say that the files are empty(I did not deleted them), the
permissions are correct (640, www:www)
What is the correct way to resolve this kind of locks problem if the
svnadmin command doesn't want to remove locks either ?
From memory, removing all the digest files while no server is running
should work.