Pending checkin is too slow in VS2005

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear

Locked
dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

Pending checkin is too slow in VS2005

Post by dextor » Fri Feb 10, 2006 9:01 am

We have migrated our VS2003 VC++ solution into VS2005 recently. And we are using Vault 3.1.7.3719.

Our solution is composed of 25 projects and maybe 2500~2700 cpp and h files.
In VS2005 IDE, the pending-checkin view is too slow in updating.
When switching to the 'pending checkin' view after starting VS2005 with the solution, it just begins doing something, displaying 'Updating 26xx files'...
To complete this updating, we have to wait 5~7 minutes or so, seeing the progress of updating all the files...
One thing fortunate is that this occurs only at the first time in seeing the 'pending checkin' view.

We didn't see such a delay in VS2003 ever. And absolutely it is one of the most annoying things in VS2005, compared to VS2003.

This is not a machine-specific issue. Every development PC does same in our office.

Is this a VS2005's problem or vault's one?
And if you have any resolution, please let me know.
____
Best regards,
Jaeyoun Yi, Ph.D.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Fri Feb 10, 2006 9:12 am

Are your VS 2005 clients running in a different timezone than your Vault server? If so, that is a known problem (which is an interaction between Vault and the 2.0 .Net Framework). I can send you more info if that is the case.

dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

Post by dextor » Fri Feb 10, 2006 8:59 pm

dan wrote:Are your VS 2005 clients running in a different timezone than your Vault server? If so, that is a known problem (which is an interaction between Vault and the 2.0 .Net Framework). I can send you more info if that is the case.
Thanks dan for replying.

All the VS2005 clients and the server are in a same time-zone (GMT+9:00 Seoul). I checked it in the server(Win2003)'s control panel and the clients' control panels.
Is there any other method to set time-zone for .NET framework?
____
Best regards,
Jaeyoun Yi, Ph.D.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Sat Feb 11, 2006 11:02 am

You can do a Help->Technical Support from the Vault GUI client and it will show you the timezones that Vault thinks the client and server are each running.

There is a long discussion here http://support.sourcegear.com/viewtopic.php?t=5475 on a performance issue in VS2005 that was eventually traced to the clients and server being in different timezones and the 2.0 framework changing the way dates are sent. There is a workaround for that issue, and we are currently looking at a long term solution.

If that isn't the case for you, I would suggest turning on IDE logging and/or Vault client logging (there are 2 different sets) and looking in the log for places where a lot of time elapses for an operation. It should at least let us know whether the slow downs are in Vault or not. See http://support.sourcegear.com/viewtopic.php?t=2898 and http://support.sourcegear.com/viewtopic.php?p=5375 for more info.

dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

Doesn't seem to be a time-zone problem...

Post by dextor » Sun Feb 12, 2006 9:31 pm

Thank you dan, but it doesn't seem to be a time-zone problem.
Clients and server are in a same time-zone.
The followings were captured from Help->Technical Support.
I'll do inspect log information and post it here soon.

Code: Select all

Client Information
    Vault Client Version: 3.1.7.3719
    .Net Framework Version: 1.1.4322.573
    Operating System: Microsoft(R) Windows(R) XP Professional x64 Edition
    Service Pack: 1.0
    OS Version: 5.2.3790
    Total Physical Memory: 2 GB
    Time Zone: (GMT+09:00) Seoul
    
Server Information
    Vault Server Version: 3.1.7.3719
    .Net Framework Version: 1.1.4322.2300
    Operating System: Microsoft(R) Windows(R) Server 2003, Enterprise Edition
    Service Pack: 1.0
    OS Version: 5.2.3790
    Timezone: (GMT+09:00) 서울
    SQL Version: Microsoft SQL Server  2000 - 8.00.760 (Intel X86) 
        	Dec 17 2002 14:22:05 
        	Copyright (c) 1988-2003 Microsoft Corporation
        	Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
    
License Information
    2 serial number(s):
        1 of 2: 5 users, permanent
        2 of 2: 10 users, permanent
____
Best regards,
Jaeyoun Yi, Ph.D.

dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

log file attached.

Post by dextor » Sun Feb 12, 2006 9:55 pm

Dan,

I attached the IDE log file in this post.
In this time, the time spent is only about 2 minutes. But it's faster than usual.

As I descripbed before, all the files in the solution is about 2600 files, but in the attached log file, only small number of files were comprised in 'Enter SccQueryInfo() and Exit SccQueryInfo()' stuff.
Attachments
ide.zip
(5.89 KiB) Downloaded 913 times
____
Best regards,
Jaeyoun Yi, Ph.D.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Feb 13, 2006 8:45 am

Do you have thousands of files checked out at the same time? It looks like the slow down is because Visual Studio is making a huge number of calls into Vault, and it just takes time to process them all.

If you have the same number of files checked out in VS2003, is it quicker? (You can turn IDE logging on there as well to compare the number of calls and how long they take).

dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

Post by dextor » Mon Feb 13, 2006 9:28 am

dan wrote:Do you have thousands of files checked out at the same time? It looks like the slow down is because Visual Studio is making a huge number of calls into Vault, and it just takes time to process them all.

If you have the same number of files checked out in VS2003, is it quicker? (You can turn IDE logging on there as well to compare the number of calls and how long they take).
I didn't check-out any files at all. What I did was simply openning the solution in VS2005 by double-clicking sln file.
When this logging is performed, what I performed were as follows:

1. Double-click the .sln file to open in VS2005.
2. In VS2005 IDE, main menu -> View -> Pending Checkin
3. Wait till the updating is completed.
4. Close the IDE.

That's all. Any files were not checked out in the solution.
In VS2003, I never experienced such a slowdown in updating pending-checkin...
____
Best regards,
Jaeyoun Yi, Ph.D.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Feb 13, 2006 9:51 am

If you still have the 2003 version around, it would be helpful to know if VS 2003 makes fewer calls into Vault (using Vault IDE logging).

One other thing to check is to verify that the status of all the files in the Vault GUI client. The file's status should be blank (up-to-date), and not Unknown or something else (like the working folder being in a different place than you thought).

Since Vault doesn't appear to be spending any significant time is any one function, I would guess that the issue is that there are more calls into the source control system in VS2005 than there was in VS2003. I'm not sure there is much we can do about that, since we have to process the commands that are sent to us.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Feb 13, 2006 10:01 am

Another idea on this: Are all the files in your project read-write or read-only? VS will usually interpret a read-write file as checked out, and it may ask for additional status in that case.

dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

...

Post by dextor » Mon Feb 13, 2006 10:24 am

I attached the logged file in VS2003 IDE.
Since we migrated our solution to VS2005, I had to test it with our snapshot version. So the state is not exactly same to the previous case.
And also it should be noticed that in the snapshot version 5 files are checked out. (I tried to undo check-out for these files before testing, but I couldn't. There files are not checked-out states in Vault Client. In addition, I couldn't find these files in vault admin tool, either. Maybe it's another problem...)

Compared to the previous log file in VS2005,
in VS2003, all the calls were performed before swtiching to pending-checkin. Actually, there was no call when switching to pending-checkin view. It looks like that in VS2003 all necessary calls were performed during openning the solution. However, openning solution in VS2003 does not take much time compared to VS2005.



As for the case in VS2005,
there was no any-state file in the solution. No checked out, no renegade, no unknown, ... Surely it shows blank in GUI client's search pane, too.

And I guess all files are readonly... I'll check it again right now.
Attachments
vault_ide.zip
(2.98 KiB) Downloaded 860 times
____
Best regards,
Jaeyoun Yi, Ph.D.

dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

No read-write file..

Post by dextor » Mon Feb 13, 2006 10:30 am

I checked the readonly states in command prompt using
dir /a-r /s *.cpp *.h

But no files were reported.
____
Best regards,
Jaeyoun Yi, Ph.D.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Feb 13, 2006 11:02 am

OK, this is helpful info. It looks like VS 2005 is asking for the status of every file in the solution when the pending change set is displayed, whereas VS 2003 did not. That explains why it is so slow.

I'm not sure if there is much we can do about this, other than try to make the status function faster, but if you have 2600 files, it isn't going to be instantaneous. We'll see if there is room for improvement though.

You might want to go the VS 2005 feedback site and report this info there, as perhaps MS can revert back to the old way of doing it. Their forum is at http://lab.msdn.microsoft.com/productfe ... fault.aspx

dextor
Posts: 16
Joined: Fri Feb 10, 2006 8:34 am
Location: Seoul, Korea

Thanks, this issue is already reported to Microsoft...

Post by dextor » Mon Feb 13, 2006 7:44 pm

Thanks dan.

I inspected the Microsoft Feedback sites and found a relating issue in
http://lab.msdn.microsoft.com/productfe ... ced34bdfe4

Very unfortunately, they decided to postpone this issue although they already know it..
____
Best regards,
Jaeyoun Yi, Ph.D.

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Tue Feb 14, 2006 7:00 am

I had suspected this. I sometimes see the pending checkin is updating but at the moment I am only up to hundreds rather than tens of thousands of file.

What we should do is open a new feedback (don't know whether they monitor closed ones) and get on a voting and validate campaign on the MSDN Feedback site both on the new and closed one.

Locked