notes/plan for hpss performance work

John Arbash Meinel john at arbash-meinel.com
Fri May 2 18:40:43 BST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Aaron Bentley wrote:
| John Arbash Meinel wrote:
|> Aaron Bentley wrote:
|
|> | I am talking about "pull".  Or rather I am talking about "branch", from
|> | a remote machine to a local machine, creating a new standalone branch.
|
|> Having gone through some of the code in that area, I have a suggestion
|> for the
|> cause.
|
|> If the server bzr version is <1.2 we fall back on every
|> "get_parent_map()" call
|> to using "get_revision_graph()".
|
| But the server version I'm using is andrew's copy of bzr.dev, currently
| at revno 3377.  It's 1.4-series, not older than 1.2.  Even the official
| Bazaar there is at 1.3.1
|
| Aaron

There is still a potential problem if the repository isn't considered fully
locked. As Remote.get_parent_map() is going to do extra work assuming the data
is going to be buffered, and then the client is going to throw away that data.

I would recommend to merge something like this anyway:
=== modified file 'bzrlib/remote.py'
- --- bzrlib/remote.py    2008-04-29 20:02:28 +0000
+++ bzrlib/remote.py    2008-05-02 17:38:27 +0000
@@ -29,6 +29,7 @@
~     repository,
~     revision,
~     symbol_versioning,
+    trace,
~ )
~ from bzrlib.branch import BranchReferenceFormat
~ from bzrlib.bzrdir import BzrDir, RemoteBzrDirFormat
@@ -794,6 +795,8 @@
~         ancestry = self._parents_map
~         if ancestry is None:
~             # Repository is not locked, so there's no cache.
+            trace.mutter_callsite(3, 'RemoteRepository.get_parent_map() called'
+                    ' on an unlocked repository')
~             missing_revisions = set(keys)
~             ancestry = {}
~         else:

We could put it under "-Devil" or "-Dhpss" if we want, but I think calling
get_parent_map() on an unlocked repository is a BadThing (tm) anyway.

It is certainly possible something else is going on. But these are a couple
things I would poke at first.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgbUhsACgkQJdeBCYSNAAPJ0wCffeIW45ZZzFzUUxYp68poZVHh
JSQAnjRklxvJfrrvR5pX4yjFWCVGUzs3
=TdnU
-----END PGP SIGNATURE-----



More information about the bazaar mailing list