It does not appear that go server cleanups it clients in perforce. I have over 100 workspaces defined, yet only 5 pipelines.
It appears the server creates a new client each time it finds a change in perforce related to the client view specified. Since it creates a new client with each run, is it safe to delete the client workspaces created by the GoServer from perforce on a scheduled basis? The clients created by the agents do not appear to have the same issue.
EX:
Workspace:
1) cruise-CSM-TEST2-00ff41fb-28c8-4dda-a958-4b7fbf9143a4-Qi3Rn4pacEGJeX7yz9GoQvPae6k
2) cruise-CSM-TEST2-02abcadd-9139-49a7-b495-fdd022761c15-FPpHWUCbjnF7J2q9tYGnI2cZLo
Root:
1) C:\GOServer\pipelines\flyweight\00ff41fb-28c8-4dda-a958-4b7fbf9143a4
2) C:\GOServer\pipelines\flyweight\02abcadd-9139-49a7-b495-fdd022761c15
Update time, Access Time:
1) 08/02/11 11:45:48, 08/02/11 11:45:48
2) 07/20/11 15:01:28, 07/20/11 15:01:28
Client view is the same for both.
Comments
1 comment
Lee,
The Go server maintains these workspaces (called "flyweights") so as to not checkout the repo every time it has to poll for changes. To identify each workspace uniquely we create a "fingerprint" (a GUID used in the folder name) which is a combination of P4 server, port, user name and client view. If any of these change, we treat it as a new repo and check out into a separate workspace.
And yes, you can create a scheduled task to delete these.
- Rajesh
Please sign in to leave a comment.