You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Peter Yamamoto <ya...@page44.com> on 2006/04/03 18:42:30 UTC

python churning on import...

A user accidently imported a few files and folders to the root of our
repository (eg beside trunk,tags,branches instead of under the trunk)...
the thing is that the svnservice had a python process churning on the
rev path for over half an hour. A sampling from filemon is shown below.
The user was using RapidSVN.
 
I've had checkins take a long time but the checkins were large checkins.
 
But this was a small "add"... is this file access normal?
 
Peter
 
Server is WinXP Pro, P4 3.0GHz 2Gb RAM, new SATA Raid drive (tons of
space free).
 
14 10:03:00 AM python.exe:2744 READ  F:\svndata\repos\db\revs\4 SUCCESS
Offset: 9108563518 Length: 4096 
15 10:03:00 AM python.exe:2744 CLOSE F:\svndata\repos\db\revs\4 SUCCESS

16 10:03:00 AM python.exe:2744 OPEN F:\svndata\repos\db\revs\4 SUCCESS
Options: Open  Access: All 
17 10:03:00 AM python.exe:2744 READ  F:\svndata\repos\db\revs\4 SUCCESS
Offset: 9108563584 Length: 4096 
18 10:03:00 AM python.exe:2744 CLOSE F:\svndata\repos\db\revs\4 SUCCESS

19 10:03:00 AM python.exe:2744 OPEN
F:\svndata\repos\db\transactions\89-1.txn\props SUCCESS Options: OpenIf
Access: All 
20 10:03:00 AM python.exe:2744 READ
F:\svndata\repos\db\transactions\89-1.txn\props SUCCESS Offset: 0
Length: 4096 
21 10:03:00 AM python.exe:2744 CLOSE
F:\svndata\repos\db\transactions\89-1.txn\props SUCCESS  
22 10:03:00 AM python.exe:2744 OPEN
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Options: Open
Access: All 
23 10:03:00 AM python.exe:2744 READ
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Offset: 0
Length: 4096 
24 10:03:00 AM python.exe:2744 CLOSE
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS  
25 10:03:00 AM python.exe:2744 OPEN
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Options: Open
Access: All 
26 10:03:00 AM python.exe:2744 READ
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Offset: 0
Length: 4096 
27 10:03:00 AM python.exe:2744 CLOSE
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS  
28 10:03:00 AM python.exe:2744 OPEN F:\svndata\repos\db\revs\4 SUCCESS
Options: Open  Access: All 
29 10:03:00 AM python.exe:2744 READ  F:\svndata\repos\db\revs\4 SUCCESS
Offset: 9109382943 Length: 4096 
30 10:03:00 AM python.exe:2744 CLOSE F:\svndata\repos\db\revs\4 SUCCESS


and a "few" minutes later still going...
 
4056401 10:19:38 AM python.exe:2744 CLOSE
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS  
4056402 10:19:38 AM python.exe:2744 OPEN F:\svndata\repos\db\revs\4
SUCCESS Options: Open  Access: All 
4056403 10:19:38 AM python.exe:2744 READ  F:\svndata\repos\db\revs\4
SUCCESS Offset: 9126351356 Length: 4096 
4056404 10:19:38 AM python.exe:2744 CLOSE F:\svndata\repos\db\revs\4
SUCCESS  
4056405 10:19:38 AM python.exe:2744 OPEN F:\svndata\repos\db\revs\4
SUCCESS Options: Open  Access: All 
4056406 10:19:38 AM python.exe:2744 READ  F:\svndata\repos\db\revs\4
SUCCESS Offset: 9126338877 Length: 4096 
4056407 10:19:38 AM python.exe:2744 CLOSE F:\svndata\repos\db\revs\4
SUCCESS  
4056408 10:19:38 AM python.exe:2744 OPEN F:\svndata\repos\db\revs\4
SUCCESS Options: Open  Access: All 
4056409 10:19:38 AM python.exe:2744 READ  F:\svndata\repos\db\revs\4
SUCCESS Offset: 9126338811 Length: 4096 
4056410 10:19:38 AM python.exe:2744 CLOSE F:\svndata\repos\db\revs\4
SUCCESS  
4056411 10:19:38 AM python.exe:2744 OPEN F:\svndata\repos\db\revs\4
SUCCESS Options: Open  Access: All 
4056412 10:19:38 AM python.exe:2744 READ  F:\svndata\repos\db\revs\4
SUCCESS Offset: 9126338877 Length: 4096 
4056413 10:19:38 AM python.exe:2744 CLOSE F:\svndata\repos\db\revs\4
SUCCESS  
4056414 10:19:38 AM python.exe:2744 OPEN
F:\svndata\repos\db\transactions\89-1.txn\props SUCCESS Options: OpenIf
Access: All 
4056415 10:19:38 AM python.exe:2744 READ
F:\svndata\repos\db\transactions\89-1.txn\props SUCCESS Offset: 0
Length: 4096 
4056416 10:19:38 AM python.exe:2744 CLOSE
F:\svndata\repos\db\transactions\89-1.txn\props SUCCESS  
4056417 10:19:38 AM python.exe:2744 OPEN
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Options: Open
Access: All 
4056418 10:19:38 AM python.exe:2744 READ
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Offset: 0
Length: 4096 
4056419 10:19:38 AM python.exe:2744 CLOSE
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS  
4056420 10:19:38 AM python.exe:2744 OPEN
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Options: Open
Access: All 
4056421 10:19:38 AM python.exe:2744 READ
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS Offset: 0
Length: 4096 
4056422 10:19:38 AM python.exe:2744 CLOSE
F:\svndata\repos\db\transactions\89-1.txn\node.0.0 SUCCESS  
4056423 10:19:38 AM python.exe:2744 OPEN F:\svndata\repos\db\revs\4
Options: Open  Access: All 

Re: python churning on import...

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 4/3/06, Peter Yamamoto <ya...@page44.com> wrote:
>
> A user accidently imported a few files and folders to the root of our
> repository (eg beside trunk,tags,branches instead of under the trunk)... the
> thing is that the svnservice had a python process churning on the rev path
> for over half an hour. A sampling from filemon is shown below. The user was
> using RapidSVN.
>
> I've had checkins take a long time but the checkins were large checkins.
>
> But this was a small "add"... is this file access normal?

Any python process like that would be as part of a separate hook
script you're running on your system, so it's impossible for us to say
if it's normal or not if you don't tell us what the hook scripts are
actually doing.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: python churning on import...

Posted by Nathan Kidd <na...@spicycrypto.ca>.
Peter Yamamoto wrote:
> A user accidently imported a few files and folders to the root of our 
> repository (eg beside trunk,tags,branches instead of under the trunk)... 
> the thing is that the svnservice had a python process churning on the 
> rev path for over half an hour. A sampling from filemon is shown below. 
> The user was using RapidSVN.
>  
> I've had checkins take a long time but the checkins were large checkins.
>  
> But this was a small "add"... is this file access normal?

If python is running then you must have some custom pre/post commit 
hooks enabled.  By default Subversion doesn't run any python process.

You need to find out which commit-hook is causing the problem, but based 
on the symptoms you described I can give you a pretty good guess that it 
is a check-case-insensitive.py related script.  There are several 
versions floating around that will recursively walk the tree from the 
top-most changed path in a commit.

Attached is the case-insensitive.py script I use which has much better 
performance because it doesn't do the recursive 'ls'.  It is modified 
from the file of the same name in the trunk.

-Nathan

P.S. the history is below in case you wonder what I changed.

Revision: 198 Author: nathan.kidd Date: 6:22:44 PM, January 31, 2006
Message:
[svn] case-insensitive.py improvements
  * encode output as utf-8 so tortoise can properly display output
    (encoding as 'native' meant tortoise showed ????)
  * the command line shows _____ regardless.
----
Modified : /trunk/subversion/hooks/case-insensitive.py


Revision: 197 Author: nathan.kidd Date: 6:15:51 PM, January 31, 2006
Message:
[svn] case-insensitive.py improvements
  * store directory entries by canonicalized filename hash so we can 
later access them directly instead of walking array of all filenames in 
directory
  * output which filename(s) are (existing) and (new)
  * variable/function name clarification
  * general cleanup
----
Modified : /trunk/subversion/hooks/case-insensitive.py


Revision: 196 Author: nathan.kidd Date: 4:03:13 PM, January 30, 2006
Message:
case-insensitive.py ported to use old SVN 1.2.3 Python 2.3.5 bindings
  * with references from http://www.thehirts.net/blog/?p=8
  * and check-case-insensitive.py
  * Not using proper core.run_app() and classes. Future TODO. (Code 
cleanness/maintainability issue)
----
Modified : /trunk/subversion/hooks/case-insensitive.py
Modified : /trunk/subversion/hooks/pre-commit.cmd