[MERGE] AtomicFile names are now not invariant-per-process which stops multiple transactions on the same file breaking under unknown conditions on Windows CIFS shares
Adrian Wilkins
adrian.wilkins at gmail.com
Mon Dec 15 14:59:20 GMT 2008
John Arbash Meinel wrote:
> Adrian Wilkins wrote:
>
>> https://bugs.launchpad.net/bzr/+bug/304023
>
>
> This seems fine, though it seems like it would be good to understand why
> we are trying to modify the same file 2x in a given action.
>
> As it sounds like we are creating 2 "AtomicFile" objects for the
> pack-names file, which is a bit iffy.
>
This seems to agree with the behaviour I was seeing. The logs attached
to one of the bug comments show the file activity for both failing and
successful cases, and for the post-patch case, which should show the
multiple use of AtomicFile for last-revision file. The logs are for
bzr branch <network branch one> <new branch in same no-trees repo>
>
> I would just like to mention that the behavior you are seeing is
> indicative of a logical bug. When we update a branch, we should only
> have to write the last-revision file one time, similarly for auto-pack.
>
On further examination it would seem that `bzr branch` uses *three*
instances of AtomicFile for last-revision. I can examine more cases if
you would like.
This is for
bzr branch y:\repository_old\tools y:\repository\tools
; where y:\ is a drive letter mapped to a CIFS share.
PoSh #> cat Filemon_success_randchars.LOG | % { $_.Split("`t")[4] } |
select-string "repository\\tools\\.bzr\\branch\\last-revision" | sort |
unique
Y:\repository\tools\.bzr\branch\last-revision
Y:\repository\tools\.bzr\branch\last-revision.5212.040912-xp.82hqvtjkgm.tmp
Y:\repository\tools\.bzr\branch\last-revision.5212.040912-xp.baxxu6xmd3.tmp
Y:\repository\tools\.bzr\branch\last-revision.5212.040912-xp.bjcjyohcyb.tmp
Y:\repository\tools\.bzr\branch\last-revision?
Log taken from log in name-collision.7z attached to bug. They are CSV
logs with \t as the delimiter, columns are :
rowid time process request path result params
> John
> =:->
More information about the bazaar
mailing list