More Related Content Similar to [Nvidia] Divide Your Depots (20) [Nvidia] Divide Your Depots1. 1
Divide your depots
Mark Warren
Perforce Administrator
NVidia
2. 2
Why?
• The longer a depot used = larger DB becomes.
• Expanding metadata structure
• Table locking
• Angry users (angry robots)
4. 4
Perfsplit problems
• Needs p4 snap
• Increases file structure size
• Involves downtime
• Duplicate depot name
• Copies files
5. 5
Work-Around (overview)
• Lock RW access
• Harvest lazy integration records
• Use a replica
• Bypass archive copy phase
• Rename depot
6. 6
Work-Around – harvest records
• Integration history
• Include lbr file in split map
• Example –
• @pv@ 1 @db.rev@ @//depot/path/to/a/file.ext@ 1 65539 0 230490
998495368 971118380 2D09407262535D83FF9155694E37E034
1916928 0 0 @//depot/path/to/a/file.ext@ @1.1@ 65539
• zgrep @db.rev@ /path/to/checkpoints.gz | grep //depot/path/to/split/ |
awk '{print $15}' | grep -v path/to/split >> splitmap.lis
7. 7
Work-Around – bypass cp
• Bypass archive copy phase
• Nodoc option: “-a” flag
8. 8
Work Around – rename depot
• Checkpoint new instance
• Rename db.rev entries
• Replay
• Create new depot name on new instance
9. 9
Completion
• Use modified process with Perfsplit to address
overgrown depot
• Minimize downtime
• Perfsplit = more desirable tool (large install)