RE: SVN merge issue in Solaris
From: Kadam, Shailesh <Shailesh.Kadam_at_westernasset.com>
Date: Wed, 26 May 2010 14:01:05 -0700
Hi Johan,
We are running on solaris zone and able to run truss on the process, we see
majority of time svn spends is in reading the .svn/entries file again and again.
Why is that.
Thanks
Sal
getcwd("/opt/projects/common_services/rjm/autsys-workspace/workspace/merge_test/MERGE_TEST", 1024) = 0
open("/opt/projects/common_services/rjm/autsys-workspace/workspace/merge_test/MERGE_TEST/.svn/entries", O_RDONLY|O_LARGEFILE) = 6
fcntl(6, F_GETFD, 0x00000000) = 0
fcntl(6, F_SETFD, 0x00000001) = 0
read(6, " 1 0\n\n d i r\n 4 5 3\n".., 80) = 80
close(6) = 0
open("/opt/projects/common_services/rjm/autsys-workspace/workspace/merge_test/MERGE_TEST/.svn/entries", O_RDONLY|O_LARGEFILE) = 6
fcntl(6, F_GETFD, 0x00000000) = 0
fcntl(6, F_SETFD, 0x00000001) = 0
read(6, " 1 0\n\n d i r\n 4 5 3\n".., 4096) = 4096
read(6, "\n\n\n\n\n\n\n\n\n\n\n\n".., 4096) = 4096
read(6, " 2 0 c f 9 d d 6 a\n 2 0".., 4096) = 4096
read(6, " 4 1 8 8 8 8 e b 3 0 d a".., 4096) = 4096
read(6, "\n\n 8 9 7\n\f\n A S I A".., 4096) = 4096
read(6, " 1 1 . 9 1 8 7 9 9 Z\n e".., 4096) = 4096
read(6, "\n\n\n\n\n\n\n\n\n\n\n\n".., 4096) = 4096
read(6, "\n\n\n 2 0 1 0 - 0 5 - 2".., 4096) = 4096
read(6, " M _ P D S _ S E N D _ P".., 4096) = 4096
read(6, "\n 6\n c o n t r o l d e".., 4096) = 4096
read(6, " 1 0 - 0 4 - 2 2 T 0 3 :".., 4096) = 4096
read(6, "\n 2 0 1 0 - 0 5 - 2 6 T".., 4096) = 4096
read(6, " 5 : 5 0 . 0 1 2 8 9 2 Z".., 4096) = 4096
read(6, " 2 0 1 0 - 0 5 - 2 6 T 1".., 4096) = 4096
read(6, " a c 5 f c 8 0 6 2 1 7 7".., 4096) = 4096
read(6, "\n\n\n\n\n\n\n\n\n\n\n\n".., 4096) = 4096
-----Original Message-----
From: Johan Corveleyn [mailto:jcorvel_at_gmail.com]
Sent: Wednesday, May 26, 2010 1:57 PM
To: Liu, Xiaodu "Louie"
Cc: users_at_subversion.apache.org; Kadam, Shailesh
Subject: Re: SVN merge issue in Solaris
On Wed, May 26, 2010 at 9:20 PM, Liu, Xiaodu "Louie"
<XiaoduLouie.Liu_at_westernasset.com> wrote:
> We have the svn merge performance issue on Solaris. For a given repo,
> if we do svn merge on windows box, it takes about 35 seconds, but same
> merge will take about 6 minutes.
>
> Both svn version 1.6.6 and 1.6.11 clients are tested with the same issues.
There could be lots of differences between both (client) systems. If network connectivity to the repository is the same, I would take a look at the filesystem where the working copy is stored (where you are merging into). For instance, if your working copy on the Solaris box is on a remote filesystem mounted via NFS, or Samba, compared to the Windows box having its working copy on a fast local drive, that could explain the difference.
Keep in mind that Subversion stores its working-copy metadata currently in lots of little files in lots of .svn subdirectories in every directory. Some svn operations are therefor very heavy on I/O.
E.g. for most operations (merge, update, commit, ...) the working copy needs to be locked, and after the operation unlocked. This is done by putting (and removing) little lock files in all those .svn directories.
SVN's next release (1.7, slated for release late summer) will be much better in this area, because its metadata will be centralized in one single database at the root of the working copy.
Cheers,
--
Johan
**********************************************************************
E-mail sent through the Internet is not secure. Western Asset
therefore recommends that you do not send any confidential or
sensitive information to us via electronic mail, including social
security numbers, account numbers, or personal identification
numbers. Delivery, and or timely delivery of Internet mail is not
guaranteed. Western Asset therefore recommends that you do not send
time sensitive or action-oriented messages to us via electronic
mail.
**********************************************************************
|
This is an archived mail posted to the Subversion Users mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.