Quantcast
Channel: Primavera Online Interaction » PM.ini
Viewing all articles
Browse latest Browse all 41

prim3782:Open Project produces TCVirtualTable.RefreshAppend: USEROBS: Lock time out on MS SQL Server

$
0
0
Solution ID: prim3782
Open Project produces TCVirtualTable.RefreshAppend: USEROBS: Lock time out on MS SQL Server
Status: Reviewed
Version(s): 3.x

Problem: Exception error when attempting to open projects: 

Type:            EDBEngineError
Event Code: VTRAU-3873-5
Description:  TCVirtualTable.RefreshAppend: USEROBS: Lock time out.
                     SQL Server connection timed out.



Problem: UserA is scheduling at an Upper or Root Level EPS node, while UserB attempts to open projects at a Lower Level EPS node under the same branch. UserB receives the error and is unable to open any project at the lower level EPS for approximately 10 minutes.
Cause: This problem occurs when running a schedule calculation (or Level Resources, Summarization or other function) that causes a large amount on Uncommitted Table\Database changes (schedule dates, durations..) to occur to the users Project Data. Project Manager through BDE\MS SQL is unable to READ Uncommitted Data. Once the data is committed, which occurs when the schedule calculation finishes, Project Manager can then read the data and open the project.

This problem will only appear whenever a long running Function\Query is running against the users working set of projects.
Fix: In version 3.0x, there are a few options:

1. Run Root level EPS Schedule calculations during non-production hours manually or use Primavera Job Services to schedule the Job at night.

2. On each user’s PC, set the BDE Alias, Max Query Time value to a higher value that encompasses the longest running schedule calculation. This will allow the user to eventually Open the EPS/projects at the lower level EPS node, those users will have to wait until the schedule finishes before the projects will appear.
For example, if a schedule calculation from a higher level EPS level takes 9 minutes to finish, then set each user’s MSSQL BDE Alias, Max Query Timeout to 600 seconds (10 minutes) using the following steps:

1. Select Settings, Control Panel and select BDE Administrator.
2. Select the Databases tab.
3. Highlight the MS SQL BDE Alias (Def: PMDB_*) and modify the MAX QUERY TIME=600
4. Close and Save.



In version 3.5, there is a new option:

A new setting was added to the PM.INI file in v3.5 to allow users to open projects with Uncommitted Data. By allowing the reading of Uncommitted data, SQL Server will not lock users out of opening projects during long running functions\queries against their projects. Once the long running function completes, users can run Refresh Data to get the latest updates to their project.

The setting to allow the reading of Uncommitted data will need to be added to the PM.INI file [default is False]:

[Database]
AllowDirtyReads=True


Note: If True then sets SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED at the database level.

Fix: SQL Server connection timed out error (may look like VTRXX-XXXX-X)




Viewing all articles
Browse latest Browse all 41

Trending Articles