[p4] Questions about the internal steps that occurs on a submit (remote depot)
Danjel.Ryden at ubisoft.com
Tue Jun 29 20:22:43 PDT 2010
Much appreciated and so much clearer now. Thank you for the links and info.
I had previously already checked the Google presentations but totally missed the Michael Shield ones :) Good stuff indeed.
From: Robert Cowham [mailto:robert at vizim.com]
Sent: Tuesday, June 29, 2010 7:48 PM
To: Danjel Ryden; perforce-user at perforce.com
Subject: RE: [p4] Questions about the internal steps that occurs on a submit (remote depot)
Check out the difference between change-submit and change-commit triggers:
So there are a couple of phases:
- create changelist on server - fire any change-submit triggers - this step
also checks for locks on files, files requiring resolving etc
If above OK, then:
- transfer contents of files to server (in temp dir) and then actually
commit them to repository (with locks taken out):
- fire change-commit triggers
- update RCS and other archived files
- update various db.* tables
As to which locks are taken out - new versions of P4V have an Admin GUI with
a monitor tool (if monitoring enabled) which also shows the locks currently
You might also like to review various Perforce conference papers from
previous conferences - Michael Shields in particular talks about this sort
of stuff, including improvements made to locking and concurrency over
In addition presentations by Google on performance and database locking are
> -----Original Message-----
> From: perforce-user-bounces at perforce.com
> [mailto:perforce-user-bounces at perforce.com] On Behalf Of Danjel Ryden
> Sent: 29 June 2010 10:21
> To: perforce-user at perforce.com
> Subject: [p4] Questions about the internal steps that occurs
> on a submit (remote depot)
> Hi all,
> This is my first post to this group and I appreciate greatly
> any help from you guys. I've been searching high and low on
> the internet about some answers on this but come up entirely
> blank so far.
> Basically I'm wondering a bit exactly what is going on behind
> a "p4 submit". In my case I'm working with a remote depot
> that I'm integrating from into a local depot. I schedule the
> integration with -v flag to prevent the files from being
> copied to local machine and then submit the changelist
> containing the just mentioned scheduled integration. I'm
> curious if anybody can explain the exact steps that goes on
> behind the scene during the submit.
> Specific questions:
> 1. My submit seems to go through 2 different steps
> ("submit" and "dm-CommitSubmit"). Exactly what do these 2
> steps do and how do the differ from each other?
> 2. During which of these steps are the actual files
> (not just meta data) transferred from the remote depot to the
> local depot?
> 3. During the "submit" step neither write nor read lock
> seems to be activated, or at least it's very short. Is this correct?
> 4. During the "dm-CommitSubmit" step there seems to be
> some constant locks activated on the p4 for the entire
> operation: "submit" and "edit" are stalled (as I would
> expect) but "filelog" (which I assume is a read only command)
> is also stalled which doesn't make sense to me. "sync" on the
> other hand works fine while on "dm-CommitSubmit" step. Can
> somebody explain this to me?
> Thank you very much for any insight in this,
More information about the perforce-user