[p4] Questions about the internal steps that occurs on a submit (remote depot)

Danjel Ryden 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.

Thanks,

	/dan

-----Original Message-----
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:

http://www.perforce.com/perforce/doc.092/manuals/p4sag/06_scripting.html#105
7726

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
active.

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
various versions.

http://www.perforce.com/perforce/conferences/index.html

In addition presentations by Google on performance and database locking are
also useful.
 
HTH
Robert

> -----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,
> 
>                 /dan




More information about the perforce-user mailing list