History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-1177
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Rafal Krzysztoforski
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickBuild

clearcase CHECKOUT step contains surplus commands

Created: 20/Dec/11 11:52 AM   Updated: 28/Dec/11 06:11 AM
Component/s: None
Affects Version/s: 4.0.19
Fix Version/s: 4.0.20

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: sles 10.3


 Description  « Hide
By using default Quick Build command for Clear Case checkout operation we observed that this operation takes too much time than run from command line.
After investigation of logs it looks like there is no needed command executed each time for checkout operation at the beginning: cleartool lsview -s
In our case this operation takes twice much time the view update itself.
Please review this step for ClearCase and remove listing all views command.

 All   Comments   Work Log   Change History      Sort Order:
Robin Shen [21/Dec/11 12:18 AM]
This command is used by QB frequently to determine whether a view exists, and to get view UUID to reconstruct the view.dat in case the view directory has been deleted at build machine. Why is this being a bottleneck? How many views do you have in ClearCase?

Rafal Krzysztoforski [21/Dec/11 12:49 AM]
Over 6 houndred and it is increasing.
Why not to use cleartool lsview -l directly on view name which might be stored somewhere?

Robin Shen [21/Dec/11 01:32 AM]
We initially use that command, and the command reports error if the queried view does not exist. Since command might also be failed due to some other reasons. It is not reliable to determine existence of the view by checking return code of the command. You may argue that in case of view not existing, ClearCase will report a particular message, and that message can be used to determine whether it is a general failure or it is due to non-existent view. However checking the error message still is not reliable since it is different across different ClearCase versions if I remember it correctly. So we resort to use "lsview" without argument.
Thanks for letting us know that this command runs slowly when there are many views, and we may need to revert back to use "lsview <view name>" and consider different error messages for different ClearCase versions if necessary.

Robin Shen [21/Dec/11 02:03 PM]
No obvious change for this between QB3 and 4. Can you please run the build in debug logging level and check the log to see what is the main difference between two versions?

Robin Shen [22/Dec/11 11:21 AM]
Below build fixes the "lsview -s" issue:
http://build.pmease.com/build/1671

For the obvious slowdown of QB4 against QB3, it might be because that an extra "cleartool update" is used to update the view after timestamping the config spec to the time of build by using "cleartool setcs". Actually this change has been made since QB 3.1.59 to fix QB-1035.
 
If you have other ideas of fixing QB-1035 without updating the view, please let me know.