[Nvidia] Divide Your Depots
-
Upload
perforce -
Category
Technology
-
view
116 -
download
0
description
Transcript of [Nvidia] Divide Your Depots
1
Divide your depots
Mark Warren Perforce Administrator NVidia
2
Why?
• The longer a depot used = larger DB becomes. • Expanding metadata structure • Table locking • Angry users (angry robots)
3
Perfsplit
• Perfsplit • Only tool available • Easy to use
• Point and shoot
• Supported by Perforce*
4
Perfsplit problems
• Needs p4 snap • Increases file structure size • Involves downtime
• Duplicate depot name • Copies files
5
Work-Around (overview)
• Lock RW access • Harvest lazy integration records • Use a replica • Bypass archive copy phase • Rename depot
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
Work-Around – bypass cp
• Bypass archive copy phase • Nodoc option: “-a” flag
8
Work Around – rename depot
• Checkpoint new instance • Rename db.rev entries • Replay • Create new depot name on new instance
9
Completion
• Use modified process with Perfsplit to address overgrown depot
• Minimize downtime • Perfsplit = more desirable tool (large install)