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