SDP-323 #2

  • //
  • spec/
  • job/
  • SDP-323
  • 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.
#
# 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.

Job:	SDP-323

Status:	open

Project:	perforce-software-sdp

Severity:	C

ReportedBy:	scommon

ReportedDate:	2018/05/24 13:48:21

ModifiedBy:	tom_tyler

ModifiedDate:	2018/05/25 20:05:00

OwnedBy:	tom_tyler

Description:
	Minimize duration of journal rotation.
	
	One basic SDP concept, with the goal of simplifying backups, is to have
	just one volume that must be backed up, the /hxdepots volume (containing
	depots/archive files, checkpoints, SDP scripts, etc.)  And of course, we
	want numbered, rotated-out journal files going there so they get backed
	up.
	
	At large sites with slow storage for /hxdepots, the journal can take
	longer to rotate than we would like.  One customer data point was
	that a journal rotation to /hxdepots (with slow NAS/SAN) took 8 minutes,
	while changing journalPrefix to have the rotation to occues /hxlogs
	got that down to just 40 seconds.
	
	We should consider an optimization to first rotate the journal
	"in place" on the /hxlogs volume, so that p4d can complete
	the journal rotation and go more quickly on its merry way.  And then
	move the numbered journal file, after completion of rotation,
	to /hxdepots so that it does get backed up.
	
	One option could be:
	Set journalPrefix to the /hxlogs volume, i.e. /p4/N/logs/p4_N
	Add a journal-rotate trigger to copy (but not move) numbered/rotated journals from /hxlogs to /hxdepots (for backup) immediately upon completion.
	Add a new KEEPLIVEJNLS setting that determines when to delete journals from the (generally smaller) /hxlogs volume.
	Numbered journals will get removed from /hxdepots per current logic, determined by KEEPJNLS setting.
	
	This could also be done for Windows, but I'll hold off implementing
	that until we get a reqeuest for it.

Component:	core-unix

Type:	Feature
# Change User Description Committed
#2 default
#1 default