P4DTI issue job000278

TitleMigrating jobs to TeamTrack fails if there are many jobs
Statusclosed
Priorityessential
Assigned userGareth Rees
OrganizationTeamShare
DescriptionIf you have hundreds of jobs then you can't migrate them to TeamTrack because the TeamShare API runs out of memory and hangs.
We followed the procedure in section 6.2 of the AG, edited the migrate_teamtrack.py script, checked that it worked on a small number of jobs, and then ran it on the entire set of jobs (around 270). It managed to migrate about 80 jobs, but then it hung. When killed with control-C, the Python traceback showed that it was waiting for the TeamShare API function TSServer::ReadRecordListWithWhere.
We tried it again, and this time it managed to migrate about 60 jobs, before hanging (in the same TeamShare API function).
AnalysisThe TeamTrack database we were running against was created by modifying the sample database that came with TeamTrack 4509. See the evidence.
The underlying cause is the same as job000277. See that job for analysis and proposed solutions. GDR 2001-04-19.
How foundmanual_test
Evidence<http://www.ravenbrook.com/project/p4dt...-23/teamtrack-testcase/tTrackSample.mdb>
Observed in1.0.5
Created byGareth Rees
Created on2001-03-23 17:49:26
Last modified byGareth Rees
Last modified on2001-12-10 19:36:00
History2001-03-23 GDR Created.
2001-03-25 RB Downgraded to "essential". Although this doesn't work properly, it doesn't lose or corrupt data.
2001-04-19 GDR Noted that the cause is the same as job000277.

Fixes

Change Effect Date User Description
12701 closed 2001-05-19 12:02:21 Gareth Rees Merged work from branch/2001-05-15/capacity to version/1.1.
12665 open 2001-05-18 10:40:23 Gareth Rees dt_teamtrack uses cursors whenever it makes a query that could return many results.
12656 open 2001-05-17 19:18:01 Gareth Rees Added cursor implementation to dt_teamtrack.
Replicator can now accept lists or cursors as result of all_issues and changed_entities. (As a consequence, it no longer produces messages 844-847 so these are removed from catalog, test_p4dti and Administrator's Guide.)
Integrator's Guide specifies that all_issues and changed_entities return cursors.