P4DTI issue job000078

TitleReplication failure can cause hard-to-recover database records when using advanced configuration
Statusclosed
Prioritynice
Assigned userRichard Brooksby
OrganizationRavenbrook
DescriptionIf you have used advanced configuration to establish a conflict resolution policy other than "defect tracker wins", and if the initial replication goes wrong (e.g. fails to create a Perforce job because the server is down) then the DT issue is marked with P4DTI action "wait" but there's no corresponding job to set to "keep" in order to overwrite it. You can't fix the problem without going into the database directly using SQL or our own Python interface.
AnalysisDon't set the DT record up for replication until you're certain that the job has been created.
Could be related to job000076, because it's a bit like the job's been deleted.
If you're using the default conflict_policy, then you never see this problem because issues are never put into the 'wait' state. See job000102. GDR 2000-12-04.
How foundmanual_test
Evidence<http://www.ravenbrook.com/project/p4dti/doc/2000-10-23/teamshare-psg-alpha-test/> item 17
Observed in0.3.2
Created byRichard Brooksby
Created on2000-11-23 17:12:57
Last modified byGareth Rees
Last modified on2001-12-10 19:04:50
History2000-11-23 RB Created from sources (see evidence).
2000-11-30 RB Assigned to GDR.
2000-12-04 RB Improved description for end users.
2000-12-04 GDR Described partial fix and cross-referenced job000102. Assigned to RB.
2001-02-27 NB Added leading line to make it clear that this doesn't apply to regular users.
2001-05-19 GDR Reduced priority to 'nice' since it only applies to people using advanced configuration. Improved Title.

Fixes

Change Effect Date User Description
9879 closed 2001-03-13 12:25:33 Gareth Rees Gave P4DTI-filespecs field in the Perforce jobspec the disposition 'optional' rather than 'default', so that Perforce doesn't complain about it not having a Preset.
Removed recording of conflicts; conflict resolution always happens immediately. In particular, deleted the 'action' field in Bugzilla, the 'P4DTI_ACTION' field in TeamTrack, the 'P4DTI-action' field in Perforce, and all code and design dealing with these fields. None of this code was being used anyway, so the main effect is to significantly simplify the replication algorithm.