4. 4
Reduce waiting
time for users
Better utilization
of hardware
Support Continuous
Integration
5. 5
• Requires server locks activated (“server.locks.dir”)
• Requires change in database format
– Need to restore checkpoint for the upgrade
• Changes locking order of some tables
• Controlled with configurable “db.peeking”
6. 6
List of commands that run lockless:
• annotate, branches, changes, clients, counters, depots, diff,
• diff2, dirs, filelog, files (-a) fixes, fstat (peeking=3), have,
• interchanges, integ, integed, istat, jobs, keys, labels, merge,
• print (-a), resolved, streams, sizes (-a), sync (peeking=3), users
• verify (2014.2), describe (2014.2)
List of commands that run partial lockless:
• copy, cstat, fstat, interchanges (copy), istat (copy), opened, sync
7. 7
• Default in 2014.2
• Configurable db.peeking
– 0 : No peeking, old lock order
– 1 : No peeking, new lock order (diagnostics only)
– 2 : Peeking enabled (default in 2014.2)
– 3 : Peeking enabled (no hx/dx optimization)
• Peeking=3 slower for many revisions per file
– but no locking of db.revhx/db.revdx table
11. 11
• Simple
– Search explicitly for a DN
– cn=%user%,ou=Users,dc=p4,dc=com
• Search
– Use a query to find a DN
– (&(objectClass=user)(sAMAccountName=%user%))
• SASL
– Easiest form and supported by AD (but not all LDAP)
12. 12
• User spec contains new field
– AuthMethod : perforce or ldap
– A perforce user is authenticated through P4D
• Configurable auth.default.method
– Used for new users
– If matching user in LDAP, the user is created in P4D
14. 14
• Full Perforce Server – contains all users and data
• Build Servers – local workspaces, but no updates
• Forwarding Replicas – full server, local content
• Filtered Replicas – Replicas with some content
• Depot Server – Only contains data
• Workspace Server – Data and workspaces
15. 15
Depot
Workspace Workspace
• Reduce hardware requirements for
individual servers
• Keep workspaces local
• Submits propagated to the depot server
• All other commands executed locally
• Workspace server contains replica of
depot
16. 16
• Replace build servers
– Enable build processes to submit artifacts
• Regional Workspace servers
– Co-located teams
– Workspaces and shelves are only visible locally
• Large-scale development teams
– Separate local workspace servers
– Shared storage environment
21. 21
• Simple installation on Linux
– Both APT and RPM repositories are supported
• http:://package.perforce.com
• Add public key and repo to available sources
– APT: sudo apt-get install perforce-server
– RPM: sudo yum install perforce-server