SDP-357 #5

  • //
  • spec/
  • job/
  • SDP-357
  • View
  • Commits
  • Open Download .zip Download (4 KB)
# The form data below was edited by tom_tyler
# 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/Problem].  Required.
#                 Feature and Bug are common terms.
#                 A Problem is suspected bug, or one without a clear
#                 understanding of exactly what is broken.
#
#  Release:       Release in which job is intended to be fixed.

Job:	SDP-357

Status:	open

Project:	perforce-software-sdp

Severity:	C

ReportedBy:	tom_tyler

ReportedDate:	2018/10/17 22:38:55

ModifiedBy:	tom_tyler

ModifiedDate:	2022/04/05 22:21:11

OwnedBy:	tom_tyler

Description:
	Enable parallel processing and limit RAM usage in p4verify.sh
	
	The default p4verify.sh in the SDP verifies one depot at a time,
	without any parallelization.  It is reasonably fast, but can
	run the server out of RAM if the depots are large and/or RAM is
	insufficient.
	
	A deprecated varant, p4veriy_incremental.sh, did a directory-
	tree walking algorithm.  It was much slower than p4verify.sh,
	but never ran out of RAM as it only verified tiny chunks at
	a time in each directory, one at a time.
	
	The next version of p4verify.sh should handle all scenarios
	with a single, smarter script.  Scenaros:
	* I want p4verify.sh to finish ASAP, using all resources (CPUs)
	available.
	* I want p4verify.sh operation not to noticibly impact resources
	(CPUs, RAM) available for other things.
	* I want to take advantage of parallel procesing, but using at
	most 'N' CPUs (or leaving at least 'N' CPUs free for other
	processing).
	
	Some form of directory walking combined with parallel processing,
	with a throttle control for the different scenarios and
	reasonable defaults should be included.
	
	See also: SDP-773 and SDP-774.

Component:	core-unix

Type:	Feature
# Change User Description Committed
#5 default
#4 default
#3 default
#2 default
#1 default