[nvidia] divide your depots

9
1 Divide your depots Mark Warren Perforce Administrator NVidia

Upload: perforce

Post on 05-Jul-2015

118 views

Category:

Technology


0 download

DESCRIPTION

Learn about NVIDIA's detailed process for extracting and migrating intact/complete Perforce metadata and content from an existing instance to a new one using perfsplit without perfsnap.

TRANSCRIPT

Page 1: [Nvidia] Divide Your Depots

1  

Divide your depots

Mark Warren Perforce Administrator NVidia

Page 2: [Nvidia] Divide Your Depots

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

3  

Perfsplit

•  Perfsplit •  Only tool available •  Easy to use

•  Point and shoot

•  Supported by Perforce*

Page 4: [Nvidia] Divide Your Depots

4  

Perfsplit problems

•  Needs p4 snap •  Increases file structure size •  Involves downtime

•  Duplicate depot name •  Copies files

Page 5: [Nvidia] Divide Your Depots

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

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

7  

Work-Around – bypass cp

•  Bypass archive copy phase •  Nodoc option: “-a” flag

Page 8: [Nvidia] Divide Your Depots

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

9  

Completion

•  Use modified process with Perfsplit to address overgrown depot

•  Minimize downtime •  Perfsplit = more desirable tool (large install)