# The form data below was edited by swarm-user # Perforce Workshop Jobs # # Job: The job name. 'new' generates a sequenced job number. # # Status: Job status; required field. There is no enforced or # promoted workflow for transition of jobs from one # status to another, just a set of job status values # for users to apply as they see fit. Possible values: # # open - Issue is available to be worked on. # # inprogress - Active development is in progress. # # blocked - Issue cannot be implemented for some reason. # # fixed - Fixed, optional status to use before closed. # # closed - Issue has been dealt with definitively. # # punted - Decision made not to address the issue, # possibly not ever. # # suspended - Decision made not to address the issue # in the immediate future, but noting that it may # have some merit and may be revisited later. # # duplicate - Duplicate of another issue that. # # obsolete - The need behind the request has become # overcome by events. # # Project: The project this job is for. Required. # # Severity: [A/B/C] (A is highest) Required. # # ReportedBy The user who created the job. Can be changed. # # ReportedDate: The date the job was created. Automatic. # # ModifiedBy: The user who last modified this job. Automatic. # # ModifiedDate: The date this job was last modified. Automatic. # # OwnedBy: The owner, responsible for doing the job. Optional. # # Description: Description of the job. Required. # # DevNotes: Developer's comments. Optional. Can be used to # explain a status, e.g. for blocked, punted, # obsolete or duplicate jobs. May also provide # additional information such as the earliest release # in which a bug is known to exist. # # Component: Projects may use this optional field to indicate # which component of the project a givenjob is associated # with. # # For the SDP, the list of components is defined in: # //guest/perforce_software/sdp/tools/components.txt # # Type: Type of job [Bug/Feature]. Required. # # Release: Release in which job is intended to be fixed. Job: SDP-246 Status: closed Project: perforce-software-sdp Severity: C ReportedBy: tom_tyler ReportedDate: 2017/08/18 19:03:57 ModifiedBy: swarm-user ModifiedDate: 2020/12/14 12:09:19 OwnedBy: tom_tyler Description: Sourcing p4_vars hangs if live_checkpoint.sh is running. Clearly the 'p4d -cshow' check is the culprit here. There is a reasonable expectation when sourcing an environment file that: * it'll take about a millisecond, perhaps only a nanosecond, and * it won't do anything 'active', only setup the environment. With the recent fix to avoid calling 'p4d -cshow' if there are no db.* files, we are no longer doing anything active. Yay. This was first experienced when doing a 'sudo su - perforce' was done; it hanged when a live_checkpoint.sh was running, as the ~perforce/.bashrc file contained a line to do 'source /p4/common/bin/p4_vars N', which is a common and reasonable thing to do. This may be related to SDP-245. DevNotes: 2020/12/13 ttyler: I had expected this P4D server job, released in P4D 2019.2 Patch 2, would be the fix for this: #1898491 (Job #93870) ** 'p4d -cset', 'p4d -cunset' and 'p4d -cshow' no longer take write locks on all tables; instead only the tables required are locked. 'p4d -cshow' now only takes read locks. That is good, however not sufficient. With P4D 2020.2 For example, if load_checkpoint.sh is running to reseed a replica, sourcing p4_vars still hangs for that instance. An SDP fix is needed. Component: core-unix Type: Bug