SDP-246 #9

  • //
  • spec/
  • job/
  • SDP-246
  • View
  • Commits
  • Open Download .zip Download (4 KB)
# 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
# Change User Description Committed
#9 default
#8 default
#7 default
#6 default
#5 default
#4 default
#3 default
#2 default
#1 default