Hi Michael,
I had a closer look and I figured out the following. SVN may open and close BDB databases MORE than once during ONE svn commit (i.e. during 1 svn transaction), and create svn_fs_t objects multiple times. Is it normal behavior? Could it be because Apache decides to clean caches, and then recreates an svn_fs_t object since the previous one was cleaned up and closed? As far as understood from your former emails, only one cached svn_fs_t object should be used by mod_dav_svn PER 1 svn transaction (e.g. commit). But I'm seeing the opposite situation...
Could you please clarify? Thanks a lot for your time.
Best,
Vyacheslav
On Dec 2, 2009, at 4:01 PM, C. Michael Pilato wrote:
> Viacheslav Zholudev wrote:
>> thanks for the answer. It sufficiently clarifies things for me. However,
>> I have one more question: Let's assume that SVN client commits two big
>> files in the same SVN transaction. Could it happen that mod_dav_svn
>> writes pieces of those two big files to the "strings" simultaneously?
>> I.e. part1_file1, part1_file2, part2_file1, part2_file2 or in some other
>> mixed order?
>
> Today's Subversion clients won't do that. They serialize the transmission
> of file contents towards the server. But putting that aside, the BDB code
> keeps one file's contents in the 'strings' table separate from another's by
> assigning the contents to different database keys. So while a single client
> may not write to two different files in the same transaction, it's certainly
> the case that multiple clients could be tossing file contents for multiple
> files into the 'strings' table simultaneous. The code does the right thing
> though -- it's not like you're going to get corruption or anything that
> appears like a file has interleaved content from various sources.
>
> What's the source of your interest? Are you seeing a problem?
>
> --
> C. Michael Pilato <cmpilato_at_collab.net>
> CollabNet <> www.collab.net <> Distributed Development On Demand
>
Best,
Vyacheslav
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2426822
Please start new threads on the <dev_at_subversion.apache.org> mailing list.
To subscribe to the new list, send an empty e-mail to <dev-subscribe_at_subversion.apache.org>.
Received on 2009-12-03 21:36:43 CET